将远程 Github 仓库的更改合并到本地仓库

124

我之前在Github上fork了一个仓库,做了一些小改动,并将更改推送到了我的Github fork版本。原始仓库此后发生了变化。我希望将原始仓库的更改合并到我的fork版本中。

我对git和github都不熟悉,需要具体的命令来完成操作。


请参见https://dev59.com/t3NA5IYBdhLWcg3wBo9m。 - Ether
4个回答

168
git remote add {name} {Public Clone URL}
git pull {name} master
git push

示例:

git remote add bret git://github.com/bret/watir.git
git pull bret master
git push

8

在进行 fork 操作之前,我们需要配置一个远程仓库:https://help.github.com/articles/configuring-a-remote-for-a-fork/ - Eric Douglas

8

只需将原始仓库添加为远程仓库并将您的分叉与其合并;然后将合并后的分叉推送到GitHub。

还有一个Ruby gem,可更轻松地进行GitHub操作。您可以通过一次调用将上游合并...


1
我发现我忘记说明我是git和github的新手,我需要具体的命令来完成它。感谢github-gem,但对于我来说有些过度。 - Željko Filipin
7
在这里,人们必须使用命令/代码示例。在StackOverflow上,文字无法帮助解决问题。 - holms

8
git pull origin master

如果您没有冲突,也不想为每个推送的提交创建一个重新合并(带有额外的“合并”提交),那么使用 rebase 更为方便。您可以使用 Git Gui+gitk 完成此操作。只需使用 Git Gui 获取远程内容,然后使用 gitk 打开历史记录,并在 remotes/origin/master 处创建临时的 r_master 分支。最后,在 git bash 中调用 git rebase r_master。这将把您的提交放在远程修改的顶部。您现在可以推送并删除 r_master

这篇 评论 提供了这种流程的快捷方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接