git rebase merge 區別

總是問rebase merge 的區別,先問,他們爲何要有區別?git

個人理解:爲了看提交日誌須要【主要看順序,不一樣的提交排序規則】日誌

A 在orignal 分支 am 8:00提交一次修改 【修改8】排序

B 在master 分支  am 9:00提交一次修改 【修改9】it

A 在orignal 分支 am 10:00提交一次修改 【修改10】ast

B 在master 分支  am 11:00提交一次修改 【修改11】總結

如今,進入master 分支目錄 執行git merge orignal時間

而後看下日誌,應該是:分支

11:00提交一次修改 【修改11】

10:00提交一次修改 【修改10】

9:00提交一次修改 【修改9】

8:00提交一次修改 【修改8】

若是進入 master 分支目錄 執行git rebase orignal

而後看下日誌,應該是:

10:00提交一次修改 【修改10】

8:00提交一次修改 【修改8】

11:00提交一次修改 【修改11】

9:00提交一次修改 【修改9】

git 實現是把A提交的作個patch,而後應用到master上。

總結:merge以提交時間爲順序,rebase以前後合併進來的分支爲順序(同一次rebase內部仍是以提交爲順序)。

相關文章
相關標籤/搜索