git rebase和git merge

git rebase与git merge都是合并分支,还是有细微的差别

示例:两个分支,test与master,操作的当前分支是master

   

git rebase 之后:

   

    rebase commit log:被rebase分支在前,当前分支在后

    当前分支commit log:ABEFCD

git meger之后:

  

   merge commit log:按时间顺序

   当前分支commit log:ABCDG

git pull 默认为git merge,通过git pull --rebase 改变合并方式

形象的例子:

  条件:你有两个抽屉A和B,里面都装了衣服,现在想把B中的衣服放到A中

  结果:git merge是那种横冲直撞型的,拿起B就倒入A里面,如果满了(冲突)再一并整理;

       git rebase它会一件一件的从B往A中加,会根据一开始放入的时间顺序的来加,如果满了你可以处理这一件,你可以继续加,或者跳过这一件,又或者不加了,把A还原,提供多种选择。

  所以merge适合那种比较琐碎的,简单的合并,系统级的合并用rebase。

原文地址:https://www.cnblogs.com/July74/p/5329698.html