合併分支:Git merge 和 rebase 的區別

Kyou12138發表於2024-10-21

結論:

  1. 直接merge會產生合併提交記錄,而rebase是會形成線性的提交記錄,如果該合併是有意義的合併,則可以使用merge,記錄合併提交記錄,如果是日常個人的合併,則使用rebase,減少無意義的合併提交記錄
  2. 使用rebase要注意在自己的分支上進行,不然會導致其他人由於指向的commit id不同,導致同步問題
  3. git pull 預設是merge ,可配置為rebase

分析

假設當前有兩個分支,一個特性分支、一個主分支,如圖
image

使用merge

(main): git merge feature

結果如下圖

image

使用rebase

(feature): git rebase main
(feature): git checkout main
(main): git merge feature

image
image

使用merge --squash

(main): git merge --squash feature
image

個人筆記備忘,整理自知行小課

相關文章