-
Notifications
You must be signed in to change notification settings - Fork 129
Button to allow us to 'sync'/pull upstream changes for forked repos #121
Comments
I second @alias1 feature request. Feature Abstract It would be nice updating a forked project, pulling the upstream commits to the origin without a terminal or a local git repository. As (web) workaround, you need to delete the fork and forking again the project. Use case Imagine I have not a terminal or I am behind a company proxy (and I am too lazy to set a token or to authorize the company email) or I am using an internet cafe connection. I have only a browser and I need to submit a PR on a forked project of mine. Firstly I need to pull the latest commits from the upstream. Proposal To add a button close to the list of the branches to pull that branch (only fast forward) from upstream. (email to GitHub support sent) |
From GitHub support: Thanks for the suggestion. We've had this requested before, so I've added a +1 to this item on our internal Feature Request List. We can't promise if we might add something like this, however your feedback is definitely appreciated. |
Thirded. It turns out there is a way to do this via the browser UI, as described in this StackOverflow answer. However:
What's weird about this missing feature is that GitHub appears to have implemented it at one point back in 2008, and then removed it for reasons unknown. Frustrating. |
Wow. Deep magic. Impressive. |
Web API Pull request resolution request: #200 |
I just sent support a very similar feature request, included below: Being able to fork a repository is a massively helpful feature that allows users to help contribute to open source - but an interesting problem, at least for multiple contributions, is how easy it is for their local fork to get out of sync with upstream (provided that they aren't trying to maintain an actual "fork") So my request/suggestion is a way to sync with upstream's master. There are a couple of ways to solve this, and one or all could theoretically be implemented. Idea #1: Allow users to fork existing branches as read-only and essentially make them a symlink to the upstream branch. This would encourage more casual contributors to fork the upstream so they may submit pull requests against it's main branches without having to keep their own copy up-to-date. Idea #2: If a fork of a branch can be fast-forwarded from the parent's same branch, add a "sync" button that does the same thing as a pull request but without the merge commit - as it is silly to --no-ff when you're keeping a branch in sync with upstream. Since this FR is essentially Idea 2 - should I create a separate issue for idea 1? |
"Fast Forward Your Work" is a crucial feature. Color me astonished that it don't doesn't already exist on github. |
+1 ... this would be nice and very useful in some use cases. Tx @mrec for the S.O. tip, useful workaround. |
This comment has been minimized.
This comment has been minimized.
This. |
I would add that it is painfull to do this git fetch/merge/push for multiple branches! |
This comment has been minimized.
This comment has been minimized.
The worst part of the web workflow is as follows : From my point of view, syncing should be squashed from pull requests when the target is the source of the sync. IE, downstream syncs never get added to upstream pull requests when that upstream was the source of the sync. |
It looks like there now is an update branch button. So, this may already be solved. |
@jakirkham agreed. We can close this issue. |
Where is this new button? |
@jakirkham @albertosantini are you sure? I'm reading https://github.com/blog/2051-protected-branches-and-required-status-checks and I can see an "Update" button in repo Settings/Branches, but that looks to me like it only applies to branches from a master in the same repo, not forks from a remote repo. Am I looking at the wrong thing? |
@mrec Yep, you are right. I was confused. There is not a button for the fork. Sorry for the noise. |
Must also be confused, I saw PRs and thought that what what we were concerned about here. |
This comment has been minimized.
This comment has been minimized.
+1, BitBucket has this. Do you really want those BitBucket guys to beat you? ;-) |
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
Another +1 for this feature request. This seems like a pretty basic feature. I just spent half an hour fruitlessly looking for it. I'm rather astonished it's not included in the GUI. |
|
I hope everyone that is +1-ing this realizes that they still need to email GitHub support. To quote the README of this repo.
|
Sent to github support:
Edit: Response from GH support:
|
+1. Emailed [email protected]. |
This comment has been minimized.
This comment has been minimized.
+1. I've also emailed [email protected] "We're regularly working with new programers, and for months we've been desperate to find a way to allow them to easily keep their fork in sync with upstream." ... |
A workaround for people doesn't know, from this answer
|
If I am happy to delete my master branch as in @clouds56's solution and if I have no other active branches, I can just as well delete my repo and fork again, right? Edit: Deleting a repo asks for typing the repo name and for the account password. Edit 2: Thanks @clouds56 for indirectly pointing out that one can propose README.md changes by first clicking on README.md in the file list (as opposed to concluding from the absence of an edit button in the landing page that one does not have permission to propose changes). |
the greasyfork script looks awesome |
Dammit Github... you would expect this feature is implemented by now. Now instead of people clicking one button and updating their forked repository you'll have everyone resorting to solutions like this: I've installed Pull application from @wei ... hopefully it's safe... let's see if it'll trigger within hour or I'll need to manually trigger. |
This comment has been minimized.
This comment has been minimized.
it's safe as long as you read the README 😬 |
+1 Over 6 years! So, shall we spam [email protected]? |
This comment has been minimized.
This comment has been minimized.
Hi, my previous comment was marked as spam. Is this still being considered and just being simply ignored? |
@johnhiggs Your comment is being ignored as non-constructive. Remember, anything posted here is being sent to 💯s of subscribers, so be considerate. Also, please carefully comprehend & consider the ReadMe for this repo. |
This helped me a lot Thanks. |
Large forks need these unintuitive workarounds to update because github will reject pushing so much data upstream, and using 'compare' to create a pull request online takes too long. Case study: https://github.com/chromium/chromium is useful to fork. However, if you don't use and update your own fork for a while it falls too far behind and can't be updated.
|
Hi all! We just shipped ability to sync with upstream forks. https://github.blog/changelog/2021-05-06-sync-an-out-of-date-branch-of-a-fork-from-the-web/ We'll be iterating on it based on feedback so please let me know if you all have any feedback. |
❤️ That magical moment when you ask for a product to get better... and it gets better. 😄 Worked well out of the box for me. |
Worked flawlessly and quickly for me! |
You can probably have a GitHub action on a cron schedule |
Perhaps so, but the great thing about this Issue is the ability to do it straightforward through the web interface. |
Is there any thought of bringing this to internal branches as well? I.e. PR that is out of date can be synced up to develop with a similar button |
@botatoes Awesome feature, long awaited. How to automate this action via Github Action? Any help doc? |
Firstly, I know this can be done through git fetch/merge/push (as outlined at Github Help: Syncing a Fork)
I figured this would be a convenient feature given that we can fork/edit/submit pull requests all from the browser these days. But once we've forked something, to keep it up to date we have to drop back to command line/client.
Obviously this would require a bit more effort/engineering in places where a fast-forward merge isn't possible.
My 2c.
(
Will be sending this to [email protected] shortlySent!)The text was updated successfully, but these errors were encountered: