【发布时间】:2011-10-10 19:30:50
【问题描述】:
我需要在 Formtastic 2 中使用 Active_admin,而主分支还不支持它。
几周前,有人创建了一个分支来支持 Formtastic 2 但是随后其他添加被添加到主分支并且没有提交到分支。现在 fork 已经过时了,但它支持 Formtastic。
如何使用 git 在我的计算机中本地合并它们?
【问题讨论】:
标签: ruby-on-rails git merge branch fork
我需要在 Formtastic 2 中使用 Active_admin,而主分支还不支持它。
几周前,有人创建了一个分支来支持 Formtastic 2 但是随后其他添加被添加到主分支并且没有提交到分支。现在 fork 已经过时了,但它支持 Formtastic。
如何使用 git 在我的计算机中本地合并它们?
【问题讨论】:
标签: ruby-on-rails git merge branch fork
这个最简单的方法是切换到你本地的formtastic分支,然后运行git merge master来合并master分支的变化(之后你可能需要处理冲突):
git branch formtastic
git merge master
如果您希望历史记录更加结构化,您可以改为使用 rebase:
git branch formtastic
git rebase -i master
变基将使您的历史记录更清晰,因为它的工作方式是获取您在 formtastic 中所做的任何更改并缓存它们,然后合并来自 master 的新更改,然后在顶部重新播放您的 formtastic 更改。不过,这可能比简单的合并需要更多的工作(并且您必须查看变基以了解它的工作原理)。
无论哪种方式,一旦所有内容都无冲突、经过测试并在您的分支中提交,您就可以返回并将您的更改合并到 master 中,如下所示:
git branch master
git merge formtastic
【讨论】:
您需要向上游存储库添加一个新的远程引用,上游存储库是您分叉的原始存储库。见:
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?”中进行了说明。
【讨论】: