美文网首页
rebase 和 merge 区别

rebase 和 merge 区别

作者: 月肃生 | 来源:发表于2018-09-24 23:23 被阅读19次

百度能搜到很多类似的讲解文章,但是不自己动手操作一下的话,总是一知半解的,关于具体区别,在此不再赘述。可以参考 git merge 和 git rebase 小结

准备

首先我们在本地建了两个分支masterguest。分别做了如下提交

master分支

master.png

guest分支

guest.png

rebase和merge

在执行以上命令后的状态分别是

rebase

rebase.png

merge

merger.png

总结

好像从上图而言,唯一的区别是,merge之后有一个解决冲突的提交,而rebase没有,但在rebase时,会产生两次文件冲突,但是并不需要重新提交。结合别人的文章结论,那么rebase和merge的区别就是:

  1. rebase会形成多次新的提交(有冲突需要逐个解决),但是并不会产生更多的提交,新的提交只是会把以前旧的提交给替换掉,这样整个提交历史看起来就像是在一个分支上一直进行的操作。
  2. merge会把提交合并,冲突只需要更改一次就好,但是产生的冲突需要做一个新的提交,这样提交历史会多出一次提交,这个提交就是合并解决冲突的提交。

相关文章

网友评论

      本文标题:rebase 和 merge 区别

      本文链接:https://www.haomeiwen.com/subject/gkahoftx.html