分支合併(快轉模式)

洧杰 已發佈 2019-11-17

images

在上個小節,我們讓 master 原本在 c2 ,藉由 git merge dev 指令進行合併,也讓 master 移動到 C4

這個合併過程,我們會稱作快轉模式(fast-forward),但並非每次合併都會觸發快轉模式,所以接下來,筆者將要講解觸發時機。

情境回顧

當我們用了 master 建立 2 個 commit 後,接下來就建立了 dev 分支。
images

並且用 dev 建立了 2 個 commit。

images

在此時,你會發現 master 在這過程中,根本沒有任何 commit,他仍然停留在 c2 的初始位置。

當條件符合時,就會觸發快轉模式來進行合併,也因此不會因為合併,額外產生出新的 commit。

images

情境小結

  1. dev 建立出來時,是跟 master 在相同的 commit 上,c2 就可以當做是 dev 的初始 commit 位置。
  2. 過程中,若 master 沒有任何更新,表示初始 commit 位置沒有變動,此時用 master 去 merge dev 就會觸發快轉模式。

結合以上兩點,當你的 HEAD 位置是某個要被 merge branch(dev) 上的初始 commit,就會觸發快轉模式。

關於筆者

暱稱:洧杰

介紹:六角學院校長,熱愛分享與交流的前端工程師,目前專注於兼容桌面/移動網頁前端開發,期間已協助數百位平面設計師,網頁設計師導入標準網頁設計。