【问题标题】:How do I merge locally a master and a fork in git?如何在本地合并 git 中的 master 和 fork?
【发布时间】:2011-10-10 19:30:50
【问题描述】:

我需要在 Formtastic 2 中使用 Active_admin,而主分支还不支持它。

几周前,有人创建了一个分支来支持 Formtastic 2 但是随后其他添加被添加到主分支并且没有提交到分支。现在 fork 已经过时了,但它支持 Formtastic。

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

【问题讨论】:

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


    【解决方案1】:

    这个最简单的方法是切换到你本地的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
    

    【讨论】:

    【解决方案2】:

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

    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?”中进行了说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-17
      • 2015-02-28
      • 2011-08-02
      • 2013-01-14
      • 2016-07-25
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      相关资源
      最近更新 更多