同步2个的Git分支,只有几个文件的不同(Syncing two GIT branches that

2019-10-20 10:30发布

我有一对夫妇为当前项目定义的分支,其中所有,但主分支,只能由同一小组文件(小于十)从主不同。

在主实施的一项新功能后,我想复制这些修改和补充其他部门用最少的努力。 这里有什么建议的方法?

Answer 1:

您有三种选择:

  • merge :有趣的,如果掌握的所有改变需要一个分支是可见的,但事实并非总是如此

  • cherry-pick :只适用于某些承诺一个分支

  • rebase :最好的解决办法,如果你的分支尚未推 :你在重播大师顶部提交您的分支

但是:在三种情况下,你需要签要整合变更所在的分支,并重复每个分支。

除非你的分支从一个到另一个做:

---o             branch B1
    \
     ----o       branch B2
          \
           ----o branch B3

在这种情况下,您可以:

  • 将更改合并到最具体的分支 (B3这里),因为在此FAQ建议报告
  • 完成你对B3工作
  • 然后在父分支B2合并(如果没有变阵发生了B2,这其实是一个快进合并)
  • 重复的B1(即:完成对B2工作, git checkout B1git merge B2


Answer 2:

通常,当我固定在一个分支的一些重要的东西(甚至可能是主机),如果我想的一样修复被复制到另外一个分支,我做git checkout my_latest_featuregit merge --no-commit master

从未尝试过摘樱桃 ,但我想,这就是我想最好的方式,因为摘樱桃只会合并的具体变化和git merge --no-commit master将努力让整个树(除了最新的甚至其他提交固定)。

我永远恨它篡改历史提交的任何命令。 这就是为什么我从来没有变基

更新:刚刚发现这个类似的问题: 如何从一个分支复制提交到另一个?



文章来源: Syncing two GIT branches that only differ by a couple of files
标签: git branch