2011-02-23 96 views
0

G'day,顛覆多功能開發分支

以下策略是否可以通過顛覆實現?

  1. 保存應用程序
  2. 的量產版的穩定主幹單獨開發分支,擁有多個功能
  3. 保持開發分支中同步與穩定軀幹
  4. 合併/複製個人功能從開發分支到主幹,因爲他們變得生產就緒

想要2.的原因是我們還需要一個「早期版本」構建,其中包含當前正在開發的所有功能。

標準feature branch模式不足。該分支具有單個功能,並且一旦該功能合併到穩定的主幹中就應該刪除。我讀過你可以繼續使用merge --reintegrate之後的分支,但不推薦。

我想知道(文件系統)是否可以將開發分支中的各個功能複製到主幹的工作副本(構建,測試,提交,然後立即與樹幹同步分支)?同步會導致衝突,但容易解決。

謝謝,
Chris。

回答

1

您可以根據需要製作多個分支,名稱「trunk」和「feature」沒有特殊之處。在你的情況下,我會說幾個功能分支,可能是以跟蹤器中的功能檢查項命名的。

+0

謝謝Satya。你是正確的區分主幹和分行名義而已,我欣賞這一點。然而,我不明白我能夠(容易地)維護一個「早期訪問」版本,當每個功能駐留在一個單獨的分支上時,該版本可以保存所有正在開發的功能。我怎樣才能做到這一點? – 2011-02-23 06:08:41

+0

如果我正確理解你的問題:你可以有樹幹,devel,earlyaccess,f1,f2,... fn分支。將f1與fn融合在一起,隨時準備就緒。保持與主幹同步。將f1到fn合併到主幹中。嗯,似乎會有同步問題,很多衝突。這是假設我明白你想要什麼。嗯,用git代替? (我是一個svn的人,所以這不是那種倡導:-) – Satya 2011-02-23 13:16:34

+0

是的,我認爲你正確地理解了這個問題,並且感謝這個建議,但我認爲同步和衝突問題會使它在實踐中變得很難。不幸的是,git不是一種選擇,所以在沒有任何其他建議的情況下,我會使用我的原始提案。 – 2011-02-24 07:01:09

0

是的,你的策略可以通過顛覆實現。但是這將會非常低效,因爲您必須在合併命令中列出與要合併的要素相關的所有提交(或提交範圍)。

一個更好的策略是單功能分支。您可以根據需要擁有儘可能多的分支機構,並可以隨時單獨合併它們。而且您不必在此時列出提交,因爲您通常會合並每個分支的整組更改。

人們經常爭辯說,由於難以合併迴避,應避免分支。但是從多功能分支中挑選櫻桃更令人不快。