我有一個主分支和一個功能分支。功能分支有幾個變化,但主分支有許多變化,如從存儲庫中刪除10個項目。問題是如何將功能分支合併回主分支?如何執行合併?
1)與主合併特徵,然後用特徵掌握
OR
2)合併主與特徵直接
我有一個主分支和一個功能分支。功能分支有幾個變化,但主分支有許多變化,如從存儲庫中刪除10個項目。問題是如何將功能分支合併回主分支?如何執行合併?
1)與主合併特徵,然後用特徵掌握
OR
2)合併主與特徵直接
checkout master
checkout -b develop (assuming you don't already have a develop branch)
merge --no-ff your-feature-branch
酚醛代碼中存在任何衝突。 測試,測試測試。
checkout master
merge --no-ff develop
然後部署您的代碼。
我really like this branching model因爲它總是讓我在功能分支上構建功能,對開發進行最終測試。只有合併成主人。主人沒有提交。
兩個結果在相同的狀態爲master
。在第一種情況下,feature
分支的狀態與master
的狀態相同,在第二種情況下不受影響。
如果您要問哪一個要做,那麼先做首選是首選方法。您應該首先將主「合併」功能合併,以便合併後的任何錯誤不會影響主控。保持master
清潔。這也確保了有史以來沒有merge conflicts
。
這是我的一般做法:將主合併到任何功能分支並檢查一切工作正常。如果有問題,請修復。然後再次合併最新的主人。只有在合併後的分支看起來不錯,纔會把它交給主人。
我會重訂功能上主之上,然後快進功能上主
的頂部(與功能簽出)
git rebase master
不要做回合並。集成在集成分支上。在發佈候選分支上測試已完成的分支。只有在您釋放候選人時才合併爲主人。您合併了已部署的發佈候選版本。
更多關於此這裏:
https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR
UPDATE
我改寫了這個在這裏:
該工作流程在我提供的鏈接中進行了改進。關鍵是每個功能都在同一個地方開始。其中一些步驟更加明確,並且對rerere的角色進行了很好的定義。 – 2012-02-01 16:33:28
嗨布賴恩。這些命令實際上是選項1)嗎? – mynkow 2012-02-03 06:04:59
是的,mynkow我認爲他們以不同的方式獲得同樣的影響。 – 2012-02-03 18:38:06