繁体   English   中英

合并GIT中的大儿童分支

[英]Merging a grand children branch in GIT

我处在特定情况下,在把我的所有分支弄乱之前,我想先发表一下意见:-)目前,我有这样的体系结构:

master
   hotfix
   development
      p2

最近,我遇到了一个问题,不得不在hotfix分支上工作。 现在它已修复,我将其合并到master 通常,当我部署某些东西时,它来自development分支,但是,由于日程安排的重大修改,我将不得不部署p2分支而不是development分支。 事实上,在变化p2必须在一个之前走活development (和一个在development的问题之前不能进去p2 )。

部署p2并不是问题,但是接下来我对后续步骤有疑问。

  1. 是否可以将master分支与p2分支合并(以进行最新更改)而无需先合并到development
  2. 如果可能为1 ,则我希望在代码部署后将p2合并回master ,但是,如果我尝试将master合并到development (将p2的更改放入development ),我所做的所有更改都将p2是否包含在合并中? 恐怕不是这种情况,因为我与master进行了第一次合并(因为它的最新提交在p2所有更改之后都已完成)。

谢谢

更为详细的答案:

您的开始状态是:

# sketch 1 :

*--A--*--*--*--*--*--*--*--* master
    \  \            /
     \   *--*--*--* hotfix
      \
       \
        *--*--B--*--*--* development
               \
                 *--*--*--* p2

您可以将p2合并到master中:

# sketch 2 :

*--A--*--*--*--*--*--*--*--*-----* master
    \  \            /           /
     \   *--*--*--* h          /
      \                       /
       \                     /
        *--*--B--*--*--* d  /
               \           /
                 *--*--*--* p2

完成此操作后,git存储了以下事实: B提交(以及A..B之间的所有提交)都是master历史记录的一部分。

因此,稍后,当您决定将开发合并到master中时:

# sketch 3 :

*--A--*--*--*--*--*--*--*--*-----*-----* master
    \  \            /           .     /
     \   *--*--*--* h          .     /
      \                       .     /
       \                     .     /
        *--*--B--*--*--*--*----*--* development
               \           .
                 *--*--*--* p2

它只会查看B..development之间的B..development (而不是A..development


在这些草图上, p2绘制在development之下。

但是git不在乎“以下”的概念。

从git的角度来看, sketch 2与:

# sketch 2':

         *--*--*--*  h
       /            \
*--A--*--*--*--*--*--*--*--*--* master
    \                        /
     \            *--*--*--* p2
      \         /
       \       /
        *--*--B--*--*--* d

sketch 3'在显示git如何解决masterdevelopment之间的新“分叉点”时可能更清晰:

# sketch 3':

         *--*--*--*  h
       /            \
*--A--*--*--*--*--*--*--*--*--*------* master
    \                        /      /
     \            *--*--*--*       /
      \         /                 /
       \       /                 /
        *--*--B--*--*--*--*--*--* development

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM