2015-09-25 64 views
1

git flow model對於很多小發展分支機構來說效果很好。但是,當有多個分支是超長特徵時,它會開始略微分解。例如,假設2個功能(feature_branch_afeature_branch_b)都需要3個工程月才能完成,並且您希望將它們與development/master分支以及相互同步。如何在Git中管理多個長時間運行的功能分支?

您可以每天將開發/主設備合併到您的功能分支中。但保持feature_branch_afeature_branch_b彼此同步的良好做法是什麼?這樣,當你合併feature_branch_a返回到develop/master,它不會在合併衝突方面大規模地破壞feature_branch_b

回答

1

根據功能A和功能B之間有多少衝突的工作,將B簡單地合併到B中並將A合併到B中,怎麼樣?

+0

如果進入分支'A,B,C,D,E,F,G'會怎麼樣?那麼我們很快就會在各處發生很多衝突:/ –

1

您已經從development/master分支創建了功能分支feature_branch_a和feature_branch_b。

實際上,保持開發/主分支以及feature_branch_a和feature_branch_b彼此同步是一種很好的做法。而不是在3個工程月結束時出現大量合併衝突。

當您定期將feature_branch_a合併回develop/master,然後從develop/master更新您的另一個分支feature_branch_b。如果有的話,解決衝突,這些衝突肯定比3個工程月末的衝突要少得多,容易解決。解決衝突後,更新遠程開發/主分支,然後還將開發/主控合併到feature_branch_a。所以這三個分支都是最新的並且在同一頁上。

隨着功能分支數量的增加,定期與開發/主分支以及其他功能分支同步可以挽救生命。

+0

但是如果無法將'feature_branch_a'定期同步到development/master?因爲擁有長時間運行的分支的全部意義在於避免將代碼放置在可能被反向設計的地方 –