前言
git我们已经足够熟悉了,也许项目中我们常用的是merge命令,有时也用到rebase,但是就是不清楚两者的区别以及背后的机制原理,接下来进行讲解。
相同点
两者都可以合并代码。
不同点
比如现在在某个子分支执行git rebase(merge) master操作。
merge:将在子分支的所有提交记录成一次commit,保留在记录中。(下图的E即为该记录)
rebase:不会保留commit记录,直接将分支中的内容排到master的记录之后。如图:合并前版本如下:
使用merge操作后如下图:
使用rebase操作后如下图:
简单总结就是:merge就是将自己版本合并到master分支下。rebase就是覆盖的操作。
使用场景:
场景一
一直在某个子分支开