git merge合併程式碼時各引數含義

FeelTouch發表於2018-07-05

git merge #沒有引數

即預設啟用fast-forward方式進行合併,不會顯示 feature,只保留單條分支記錄。git直接把HEAD指標指向合併分支的頭,完成合並。屬於“快進方式”,不過這種情況如果刪除分支,則會丟失分支資訊。因為在這個過程中沒有建立commit。

git merge --squash

用來把一些不必要commit進行壓縮,比如說,你的feature在開發的時候寫的commit很亂,那麼我們合併的時候不希望把這些歷史commit帶過來,於是使用--squash進行合併,此時檔案已經同合併後一樣了,但不移動HEAD,不提交。需要進行一次額外的commit來“總結”一下,然後完成最終的合併。

git merge --no-ff

強行關閉fast-forward方式。可以儲存你之前的分支歷史。能夠更好的檢視 merge歷史,以及branch 狀態。

圖示說明1

圖示說明2


相關文章