rebase 和 merge的區別

 舉例說明:

master 上的提交記錄: c1->c3->c4

dev上的提交記錄: c1 -> c2->c5

1.在master上merge dev後,按照 c1 -> c2 ->c3 -> c4 -> c5 ->c6 的提交記錄去合併, 合併完成後的提交記錄就爲c1 -> c2 ->c3 -> c4 -> c5 ->c6

2.在maser上rebase dev後,按照 c1 -> c3 ->c4 ->c2 -> c5的提交記錄去合併,合併完成後的提交記錄就爲c1 -> c3 ->c4 ->c2 -> c5

 

總結:可以看出rebase 合並不會產生新的記錄, git merge 處理提交log是按照時間順序一步步去合併的,git rebase 以當前分支爲主,按照被合併分支的提交順序一步步去合併

git rebase --continue 繼續rebase

rebasegit rebase --skip  如果中間遇到某個補丁不需要應用,用該命令忽略、

git rebase --abort 回到rebase執行之前的初始狀態

 

如果覺得解釋不錯,可以請打賞呦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章