2010-11-30 65 views
2

我們有多個開發人員在項目中工作。我們採用分支的特徵分支方法,其中我們執行下列操作:SVN:將兩個分支合併在一起

  1. 所有維護工作和bug修復是在後備箱
  2. 所有新功能的一個新的分支所做的一切
  3. 分支定期更新(通過合併主幹到分支的更改)

但是,我們遇到了2個分支[我們稱之爲feature-branch-1和feature-branch-2]需要的情況合併在一起。什麼是完成這個最好的方法?我的一部分認爲我們應該創建一個新的分支。然後,將該分支與第一個特徵分支[feature-branch-1]合併。然後與第二個功能分支[feature-branch-2]合併並處理衝突(很可能是項目文件)。

有沒有更好的方法?

謝謝你們!

+1

如果您按照自己的想法進行操作,那麼一定要儘快刪除feature-branch-1和feature-branch-2,或者如果這些分支中的歷史記錄很重要,請限制對這些分支的任何提交。開發工作應該放在新分支上,而不是舊分支上。 – jgifford25 2010-12-01 16:22:23

回答

1

哦合併。愛它。

如果你的意思是你想要結合feature-branch-1,feature-branch-2和trunk到一個新的分支,那麼是的 - 你的方式是好的。否則,我不會浪費寶貴的時間,只需複製feature-branch-1並將feature-branch-2合併到其中即可。你可能已經做到了,而不是問這個問題:D

+0

我們有很多衝突,因爲兩個分支都會定期更新。他們都有變化的主幹,現在它抱怨說這些變化是衝突的(儘管如此) – 2011-08-08 11:40:20

0

我假設你經常合併樹幹和樹枝,不是嗎?如果是這樣,合併後,樹幹和分支是相同的,你可以放下其中一個分支,並繼續使用另一個分支。

如果您不想合併到主幹,您仍然可以將一個分支合併到第二個分支並繼續使用第二個分支。

0

是否將某個功能分支的當前狀態合併到主幹選項?如果是這樣,我建議將該功能分支合併到主幹,然後將其他功能分支更新爲主幹中的最新分支。這樣你就避免了創建一個額外的分支並擺脫其中一個分支。

+0

不是一個選項。我們只有在功能分支已經在我們的沙盒環境中完全測試並獲得批准時才使用該主幹。然後,該分支被整合到主幹中,並貫穿其他過程:測試 - >分段 - >生產。 – StephenPAdams 2010-11-30 19:33:56

1

這取決於你想要完成什麼。爲什麼要合併兩個功能分支?如果是因爲這兩個功能在邏輯上是「合併」的,只需選擇一個合併到另一箇中,然後在合併的分支上進行所有的開發。如果因爲其他分支中的項目存在依賴性,則可能還有足夠的通用性以合併到一個分支中,如果真的需要,則只需,分支出合併的分支以獨立開發功能。

當兩個非中繼分支針對不同功能保持同步時,可能會造成很大的痛苦;我不會推薦它,如果你能幫助它。

+0

是的。這是主意。基本上,這兩個分支將合併,所有的開發都將在那裏完成。之前的分支將被刪除。 – StephenPAdams 2010-12-01 17:19:40