美文网首页
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