簡體   English   中英

Tortoise SVN合並多個分支到Trunk

[英]Tortoise SVN Merge Multiple Branches into Trunk

我知道與 Tortoise SNV 合並已經討論過(詳細),但我找不到解決我的情況的答案。 我知道我可以使用合並向導將一個開發分支合並到主干中,但是如果我想將多個分支合並到主干中,正確的工作流程是什么?

在我的情況下,我從項目主干創建了三個開發分支(每個開發人員一個)。 最初,開發分支和主干是相同的。 開發人員也在項目的不同區域工作,因此多個人不會使用相同的文件。 因此,例如,我有主干、b1、b2 和 b3,其中主干 = b1 = b2 = b3

現在,經過一些開發,我想將每個開發分支的更改合並回主干。 這是我感到困惑的地方。 我讀到您可以簡單地將每個分支合並到主干中,一次一個(在合並下一個分支之前提交每個分支的更改),因為它們都共享相同的祖先,並且 Tortoise 足夠聰明,知道應該更改什么。 所以:

b1 -> merge to trunk -> commit trunk (now trunk has b1 changes)
b2 -> merge to trunk -> commit trunk (now trunk has b1 and b2 changes)
b3 -> merge to trunk -> commit trunk (now trunk has b1, b2, and b3 changes)

我還讀到您應該將 dev 分支更改合並到其他 dev 分支中,然后合並到主干中,以免出現覆蓋問題(我認為烏龜足夠聰明,可以避免)。 所以:

b3 -> merge to b2 -> commit b2 (now b2 has b3 changes)
b2 -> merge to b1 -> commit b1 (now b1 and b2 and b3 changes)
b1 -> merge to trunk -> commit trunk (now trunk has b1, b2, and b3 changes)

請告知一種方法是否優於另一種方法,或者一種方法是否有缺陷。 我擔心的是,如果我從一個分支合並更改,然后從另一個分支合並更改,我將撤消第一次合並操作中的更改或導致元數據出現問題。

我正在使用TortoiseSVN 版本 1.8.8,內部版本 25755Subversion 1.8.10

謝謝!

您應該先將主干合並到您的分支中,然后再將您的分支合並回主干。 在 Subversion 1.8 之前,您必須在合並到主干時指定--reintegrate標志,但 Subversion 通過新的自動重新集成合並功能來處理這個問題。 SVN 書籍的基本合並部分描述了以下工作流程:

  1. 將主干合並到 b1
  2. 在 b1 上提交更改
  3. 將 b1 合並到主干
  4. 在主干上提交更改
  5. 刪除 b1

對 b2 和 b3 重復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM