2012-01-22 55 views
21

這裏是我的情況:如何工作在一個新的git分支上,這個分支依賴於尚未合併的另一個git分支?

  • 我的項目是繼話題分支模式。

  • 我創建了一個分支來解決一些問題,我們稱這個分支爲problem_fixes。我進行了更改,並提交了拉取請求。

  • 我需要開始一項新功能,所以我創建了第二個分支名爲my_feature並提交了一堆更改。

  • 在某些時候,我意識到my_feature取決於其尚未接受和合並(該my_feature分支依賴於一些從第一分支中的修復程序,我可以不求上進,沒有他們)problem_fixes。

因爲我的項目不好導致接受和合並我的第一個分支更快,在這裏遵循的最佳流程是什麼?

我想知道如果我需要啓動一個新的,基於problem_fixes(而不是主)的第三個分支,並在我的提交合並my_feature?或者,如果我簡單地將problem_fixes合併到my_feature並繼續工作 - 假設problem_fixes首先合併到master中,當my_feature合併時理論上應該沒問題(?)

+0

我認爲你的問題會更適合http://programmers.stackexchange.com/ – Theo

+1

@Theo:我不這麼認爲。這個問題是關於「程序員常用的軟件工具」,按照常見問題。 –

+3

恩,我討厭stackexchange。碎片ftw。感謝指針,雖然我會檢查出來。 (編輯:在stackoverflow上的類別會讓我比附屬組的單獨網站更幸福) – mtjhax

回答

9

是的,我認爲你在正確的軌道上。我會做的是創建一個新的my_feature分支,也許工作一點點。當我意識到my_feature取決於problem_fixes時,將該分支合併。如果您知道需要它,可能會立即發生。然後,當my_feature合併到主數據庫中時,您已經有了所需的更改。

請注意,只要您有健壯的代碼審查程序,那麼如果您嘗試在problem_fixes之前合併my_feature到主人,那麼您當時就會注意到。

+2

感謝格雷格,順便說一句好的頭髮兄弟:) – mtjhax

10

創建您的主題分支的第一個分支。只要第一個合併到主人中,您就可以重新組合,假設沒有太多改變,這應該不成問題。

如果第一個分支的提交沒有改變,那麼你的新分支將堆疊整齊地放在最上面,如果提交改變了(壓扁,編輯或者其他),你總是可以做第二個分支的交互rebase並在第一個分支合併後編輯它看起來不錯。

+1

看起來我有兩個答案似乎解決了我的問題。格雷格首先回答,並用稍微更加詳細的步驟指示來回答,但表示支持你。如果我願意,我會給你+2讓我學習重組 - 這是一個非常重要的git概念。 – mtjhax

相關問題