定义

主要区别在于git log上:是否保留分支的commit提交节点 。

rebase到底是什么

rebase就是——变基, 变基, 变基 。就是把所有分支拉直了,变成一条分支

即:改变一条分支的 基点 ,使原分支从指定的节点(commit)延续。。

通俗点讲,变基操作其实就是保留了该 commit 作出的修改,但删丢弃了分支上一些现有的提交记录,删去了这些节点。

总结

比较 merge rebase
优点 保留有价值的历史文档 删减就繁
缺点 分支杂乱冗余 无法体现时间线

所以,使用merge还是rebase还是得分情况考虑,具体项目具体分析:

  • 如果项目庞大,需要一个简洁的线性历史树便于leader管理,推荐使用 git rebase 。
  • 如果是小型项目,需要审查历史纪录来便于编写过程报告,则推荐使用 git merge 。

merge
rebase