我在功能分支上工作了幾天,現在已準備好併入dev
。在處理此功能時,我已合併dev
以接收修補程序。我的歷史是這樣的:當我與開發人員合併時,如何壓縮提交?
* E (feature1)
* D:merge with dev
| \
* C * B:patch (dev)
\ |
* A
我想整支擠進了一個提交,合併與dev
,然後快進dev
。問題是,E
不能因爲它們之間的合併而與C
壓縮。唯一的選擇似乎是壓縮E
,B
和C
(稱爲新的提交F
),在這種情況下,壓扁的提交還將包含作爲不相關補丁一部分的更改。一旦合併到dev
中,將會有兩個應用修補程序的提交:F
(應用修補程序並添加功能)和B
(僅適用修補程序)。此外,F
現在將進行兩個未更改的更改。
有沒有一種方法可以讓我的歷史保持清潔和乾淨?我需要改變我的工作流程嗎?
推薦的工作流程更改:絕不合並開發。取而代之的是它。你應該可以通過簡單地在'dev'上做一個rebase來解決這個問題。 – o11c
同意(兩種)。將嘗試 – lfk
@ o11c - 重新調整您的分支歷史記錄。雖然我碰巧是一個粉絲,但有時候會有點危險,特別是如果你不知道自己在做什麼。此外,在發生衝突時,重新組裝會變得非常煩人,因爲每次重新綁定時都必須重新解決衝突,而通過合併,您可以解決一次衝突,然後繼續前進。 – JDB