2012-07-29 36 views
1

這是我的佈局合併永久分支時需要重新合併嗎?

/trunk 
/branches/qa 
/branches/dev 

我不打算刪除任何該分行在未來

我需要使用--reintegrate從DEV合併到QA什麼時候? 或者從QA到/主幹

感謝

+0

分支之間的確切關係是什麼? 「qa」是「dev」的一個分支,「dev」是「trunk」的一個分支,還是都是從「trunk」分支的? – 2012-07-30 07:51:10

+0

'qa'和'dev'都是'trunk'的分支機構 – michaelbn 2012-07-30 07:58:50

回答

1

如果合併方向始終是相同的(即不從QA合併到dev,只有dev亡> QA),簡單合併就足夠了。

需要單獨的模式(重新集成)來避免不必要的合併。在「特性分支」場景的特性分支將在它兩件式的變化:

  1. 定期提交
  2. 從主幹

合併時,我們希望把該功能爲主幹,我們要合併(1)。但是,如果我們使用默認合併機制,SVN也會嘗試將(2)合併到trunk中,這會導致衝突或隱藏錯誤,因爲這些更改已經存在。

+0

你能解釋一下爲什麼嗎? – michaelbn 2012-07-30 08:16:10

+0

我不同意這一點。考慮到分支的名稱,這是一個相對安全的假設,將會在'dev'和'qa'之間進行雙向合併。 – 2012-07-30 08:30:18

+0

@michaelbn:請參閱編輯 – maxim1000 2012-07-30 08:53:53

1

使用兩個分支(包括trunk)之間的重新合併合併,並打算保持源分支,通常是一個壞主意。在將來的合併中,使用之前的重新合併合併中的源代碼的分支有許多奇怪的問題。

的一般的解決方案是重新融合-合併源分支成trunk(其是目標分支),然後滴和重新創建源分支出來trunk合併後。

你,但是,想要做一些稍微不同。

如果您在devqa之間進行重新整合合併?我的建議是避免重新合併合併,使用順序合併或差異合併,並在合併時遵循創建路徑(見下文)。

通常情況下,如果你想改變從dev合併qa,你會合併成devtrunk(並承諾),然後trunkqa(並提交)。換句話說,你按照的創建路徑。當審計你的提交和合並時,這給出了合併歷史的一個很好的,乾淨的視圖。

如果這不可行,那麼您需要額外小心地執行分支到分支合併,並且這些合併通常應該僅限於順序合併。然後,到時候要麼devqa合併到trunk,這將是很容易做的。

希望這會有所幫助。