参考: https://blog.csdn.net/yao_hou/article/details/108178717
举个例子
假设当前master的提交如下:
如果此时你在cid2处 checkout 一条分支(假设是tmp分支)进行开发,并提交了两次
当你在tmp分支开发完功能,需要将tmp分支合并到 master分支==》
在master执行git merge tmp,然后会得到如下结果:
在master执行git rebase tmp,操作之后的分支如下:
二者对比可知:
使用git merge会产生一个新的提交结点,分支路线之间会产生交叉
rebase没有产生新的节点,使用rebase的git演进路线(提交树)是一直向前的,这样在版本回退时也很容易
想要更好的提交树,建议使用rebase操作会更好一点,这样可以线性的看到每一次提交,并且没有增加提交节点