git merge然后是另一个git merge?

时间:2014-02-26 01:29:32

标签: git merge

我有一个尴尬的git合并场景,我不确定什么是最好的前进方式。任何帮助将不胜感激。我们的开发分支有多个贡献者,因此是一个托管的git存储库。所以有三棵树:上游(比如upX),开发分支(比如devX)&我的开发分支的本地git树(比如local_devX)

作为开发devX的开发人员,我会定期合并来自upX(也就是上游)的更改。最近发生了以下情况:

  1. 我合并了上游更改(来自upX - > local_devX)并解决了所有冲突。这是树木在这一点上的看法

    upX:      A---B---C---D---E---F---G
                  |       |           | 
    devX:         --L--M--D'--N--O    |
                                      |  
    local_devX: A--B--L--M--D'--N--O--G'     
    
  2. 我开始测试G'合并大约需要一周时间(由于错误修复)。现在,上游和local_devX分支都已向前移动,我需要重新同步local_devX分支以适应这些更改。

  3. 这是我正确的现在

        upX:      A---B---C---D---E---F---G---H---I
                      |       |           | 
        devX:         --L--M--D'--N--O----|--P--Q
                                          |  
        local_devX: A--B--L--M--D'--N--O--G'
    

    我总是可以吹掉我的local_devX分支并查看devX&的全新副本再次合并。但后来我将重做我的合并提交G'一遍又一遍。

    在不重做G'的情况下,实现以下目标的最佳途径是什么?工作?

        upX:      A---B---C---D---E---F---G---H---K
                      |       |                   |
        devX:         --L--M--D'--N--O---P--Q     |
                                                  |
        local_devX: A--B--L--M--D'--N--O--P---Q---K'
    

    我想我可以再进行两次合并,一次用于devX更改(P& Q),第二次用于upX更改(H& K,因为G已经在我的本地合并)。但我不确定这是否会让事情变得如此糟糕。

1 个答案:

答案 0 :(得分:0)

一个接一个地进行合并,或者连续进行任意数量的合并都没有错。这很常见。 Linus Torvalds这些天花了很多时间在一个接一个地从十几个中尉中合并。它工作正常。