如何在git中本地合并master和fork?

时间:2011-10-10 19:30:51

标签: ruby-on-rails git merge branch fork

我需要将Active_admin与Formtastic 2一起使用,而主分支尚不支持它。

几个星期前,有人做了一个支持Formtastic 2的分叉 但是其他添加内容被添加到master分支中,并且没有被提交到fork。现在,fork已经过时了,但它支持Formtastic。

如何使用git在我的计算机中本地合并它们?

2 个答案:

答案 0 :(得分:1)

这种最简单的方法是切换到本地的formtastic分支,然后运行git merge master以合并主分支的更改(之后可能必须处理冲突):

git branch formtastic
git merge master

如果您希望自己的历史记录更具结构性,可以改为:

git branch formtastic
git rebase -i master

重新定位将使您的历史更清晰,因为它的工作方式是它采取您在formtastic中进行的任何更改并缓存它们,然后在合并来自master的新更改,然后它重新播放您的形式上的更改。这可能需要更多的工作,而不仅仅是合并(并且你必须查找变基才能理解它是如何工作的。)

无论哪种方式,一旦在您的分支中一切都没有冲突,测试和提交,那么您可以返回并将您的更改合并到master中,如下所示:

git branch master
git merge formtastic

答案 1 :(得分:0)

您需要向上游仓库添加新的远程引用,上游仓库是您分叉的原始仓库。参见:

enter image description here

git remote add upstream https://github.com/gregbell/active_admin

然后您可以从upstream获取/拉取并更新您自己的本地分支 “How do I clean up my Github fork so I can make clean pull requests?”中解释了各种选项。