舉例說明:
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執行之前的初始狀態
如果覺得解釋不錯,可以請打賞呦。