Reputation: 57262
I have forked a repository on github some time ago, made a small change and pushed the change back to my github fork. The original repository has changed since. I would like to merge the changes from the original repository to my fork.
I am new to both git and github, and I need specific commands how to do it.
Upvotes: 124
Views: 94417
Reputation: 7103
(from GitHub Help)
https://help.github.com/articles/syncing-a-fork
Upvotes: 8
Reputation: 11107
git pull origin master
will do the job creating additional merge commit. If you do not have conflicts and do not want to create a rejoin (with additional 'merge' commit) for every commit that you push then rebase
is more preferred. You can do it with the Git Gui+gitk. Just fetch remote with Git Gui
then open history with gitk
and create temporary r_master
branch at remotes/origin/master
fetched. Finally, call git rebase r_master
in the git bash
. This will place your commits on top of the remote modifications. You are ready to push and remove the r_master
.
This comment suggests that there are shortcuts for this flow.
Upvotes: 9
Reputation: 57262
git remote add {name} {Public Clone URL}
git pull {name} master
git push
Example:
git remote add bret git://github.com/bret/watir.git
git pull bret master
git push
Upvotes: 168
Reputation: 69505
Simply add original repo as a remote and merge your fork with it; then push merged fork to github.
There's also a ruby gem for easier github operations. You can merge upstream with one call...
Upvotes: 8