举例说明:
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执行之前的初始状态
如果觉得解释不错,可以请打赏呦。