分支合併(快轉模式)
在上個小節,我們讓 master
原本在 c2
,藉由 git merge dev
指令進行合併,也讓 master
移動到 C4
。
這個合併過程,我們會稱作快轉模式(fast-forward),但並非每次合併都會觸發快轉模式,所以接下來,筆者將要講解觸發時機。
情境回顧
當我們用了 master
建立 2 個 commit 後,接下來就建立了 dev
分支。
並且用 dev
建立了 2 個 commit。
在此時,你會發現 master
在這過程中,根本沒有任何 commit
,他仍然停留在 c2
的初始位置。
當條件符合時,就會觸發快轉模式來進行合併,也因此不會因為合併,額外產生出新的 commit。
情境小結
dev
建立出來時,是跟master
在相同的 commit 上,c2
就可以當做是dev
的初始 commit 位置。- 過程中,若
master
沒有任何更新,表示初始 commit 位置沒有變動,此時用master
去 mergedev
就會觸發快轉模式。
結合以上兩點,當你的 HEAD
位置是某個要被 merge branch(dev) 上的初始 commit,就會觸發快轉模式。