为什么要使用git pull --rebase?

1.git pull

git pull = git fetch + git merge FETCH_HEAD 

git pull --rebase =  git fetch + git rebase FETCH_HEAD 

2.merge 和 rebase

现在我们有这样的两个分支,test和master,提交如下:

       D---E test
      /
 A---B---C---F--- master

在master执行git merge test,然后会得到如下结果:

       D--------E
      /          \
 A---B---C---F----G---   test, master

在master执行git rebase test,然后得到如下结果:

A---B---D---E---C‘---F‘---   test, master

merge操作会生成一个新的节点,之前的提交分开显示。
而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。

3.rebase好处

想要更好的提交树,使用rebase操作会更好一点。
这样可以线性的看到每一次提交,并且没有增加提交节点。

merge 操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。

而rebase 操作的话,会中断rebase,同时会提示去解决冲突。
解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git作为时下最流行的代码管理工具,Git权威指南总结了十条喜欢Git的理由: 异地协同工作; 现场版本控制; 重...
    古斟布衣阅读 1,856评论 0 12
  • git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git b...
    猿万阅读 5,137评论 1 45
  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,111评论 0 18
  • “一条古道,一匹瘦马,一个人影,被落日的余晖缓缓拉长。” 1 喜欢一个人是什么感觉?至少现在我还没有体会。 那一年...
    宫子say阅读 398评论 11 2
  • 今天宝宝上幼儿园第一周了,不知道为什么,心里有种莫名的开心,感觉我的孩子终于可以上幼儿园,从婴儿期进入了幼儿教育期...
    飞翔的笨鸟阅读 891评论 0 1