合併分支
您可以使用 git merge 指令來整合多個分支。
考慮下面的情況。有兩個分支:一個bugfix
分支,其中有一些來自main
分支的提交。
![Branch](/static/8e4669099d5d6f52f1615f6f782d2152/5a190/01.png)
在這種情況下,將bugfix
合併回main
分支並不是什麼大問題。那是因為自從創建bugfix
分支以來,「主要」分支沒有改變。Git 將透過將main
分支位置移動到bugfix
分支的最新位置來合併它。這種合併稱為「快轉」。
![Fast-forward merge](/static/f617076d2bf6d0504aa51e362cea9342/5a190/02.png)
然而,在下面的範例中,自從bugfix
分支出來後,main
分支已經更新了幾次。在這兩個分支上執行合併時,必須組合來自bugfix
和main
分支的更改。
![It has advanced more than when a branch is divided](/static/f014779fb05caff4401520c480230148/5a190/03.png)
對於這種合併,創建一個"合併提交",並將main
分支位置更新為新創建的合併提交。
![Merge commit incorporating both changes](/static/2268f09bc1aacd72a54da33e7318b123/5a190/04.png)
即使快轉合併是可能的,您仍然可以明確地強制它在沒有快轉合併的情況下進行合併。
![Non fast-forward merge](/static/e25c4039d74d5b2be21720dd3a01e618/5a190/05.png)
如上所示,非快轉合併保留了bugfix
分支。這讓您更清楚地了解功能分支bugfix
。您可以輕鬆找到功能分支的開始或結束位置,並追蹤對功能分支所做的更改。