2016-06-21 26 views
3

從該圖中可以看出,在完成發佈分支之前將發佈分支中的bug修改更改爲開發分支完全可以。將更改集成到發佈分支中可以嗎?

我的問題是,將開發中所做的更改合併爲未完成的功能可以嗎? (紅色箭頭,由我添加)如果是這樣,你會推薦哪些命令/選項?

Git Flow chart

編輯:這個想法是不是一定要摘櫻桃的提交。 由於功能分支可以跨越主要版本發佈(如圖中的左側),我在合併背後的想法理念是在功能分支中考慮發展變化(如服務或類重命名),以防止(或開始解決)未來的合併衝突將在發佈完成後出現,這可能會使解決之前的開發非常不穩定。

回答

2

至於你的問題「它會沒事」,我認爲這取決於。 A可能是穩定的,而D是未知的。將D合併到特徵可能會引入一些副作用或錯誤。如果該錯誤減慢了功能的工作速度,則可能不希望合併。如果您認爲儘快發現潛在錯誤非常重要,則可以合併。

A--B--C-D-E-F->dev 
\ 
    M-N-O--P->feature 

假設你想合併D到特徵。如果你只需要D,不包括B和C,git checkout feature;git cherry-pick D。如果你想B C D,git checkout feature;git merge Dgit rebase --onto D A feature。 git-rebase會創建一個整數歷史,而git-merge來回可能會在最後創建一個複雜的提交圖。

+0

感謝您的回答。這個想法*不是挑選*提交。合併背後的想法是在特性分支中考慮發展變化或重命名,以便在發佈完成時防止*(或開始解析)*未來合併*衝突,這可能會使得開發在解決之前真的不穩定。 :) – xDaizu

相關問題