簡體   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