建议:最好看一遍廖雪峰的git教程,看完时间差不多就两个小时,git相关的知识写的很清楚,看完整个人都豁然开朗,很多git的问题都想通了。

区别:

git pull=git fetch + git merge
git pull --rebase=git fetch+git rebase

git fetch : 从远程分支拉取代码,可以得到远程分支上最新的代码。

所以git pull origin master与git pull --rebase origin master的区别主要是在远程与本地代码的合并上面了。

现在有两个分支:test和master,假设远端的master的代码已经更改了(在B基础上变动:C,E),test的代码更改了要提交代码(在B基础上变动:D,E),如下图:

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

问题就来了,如果C,F和D,E的更改发生冲突,那么就需要我们合并冲突了,下面我们来看看git merge和git rebase怎么合并的

git merge:

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

git rebase

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

对比可看出:git merge多出了一个新的节点G,会将远端master的代码和test本地的代码在这个G节点合并,之前的提交会分开去显示。

git --rebase会将两个分支融合成一个线性的提交,不会形成新的节点。

rebase好处

rebase好处
想要更好的提交树,使用rebase操作会更好一点。
这样可以线性的看到每一次提交,并且没有增加提交节点。
merge 操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。
而rebase 操作的话,会中断rebase,同时会提示去解决冲突。
解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

git pull origin master与git pull --rebase origin master的区别相关推荐

  1. 本地没有任何修改,只是git pull时,显示git ahead of ‘origin/master‘ by * commits

    目录 TL;DR 问题 原因 解决方案 TL;DR 本地没有更改,只是从远程pull,但是显示Your branch is ahead of 'origin/master' by 3 commits. ...

  2. git rebase origin master 和 origin/master

    google git rebase origin master 和 origin/master的区别,结合自己的理解,总结如下: 首先,git rebase是两个分支之间的作用,如下图 一般情况下,我 ...

  3. git pull 报错 error: cannot pull with rebase: Your index contains uncommitted changes.

    git pull 报错 error: cannot pull with rebase: Your index contains uncommitted changes. error: please c ...

  4. #39;git pull#39;和#39;git fetch#39;有什么区别?

    主持人注意:鉴于此问题已经发布了67个答案 (其中一些已删除),请在发布另一个问题之前考虑您是否正在贡献新内容 . git pull和git fetch什么区别? #1楼 我花了一点时间来了解有什么区 ...

  5. git push -u origin master和git push 远程主机名 本地分支名:远程分支名作用

    git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分支名>:< ...

  6. Git初学札记(四)————Git Push的常规操作与Pull冲突解决

    目录 引言 Git命令行的远程Push EGit Push操作中的冲突问题 同步 工作区与本地库同步 工作区与远程库同步 图标 重点 引言 在团队开发当中,Git Push是多人协作环节中的最重要的一 ...

  7. fetch git pull 切换_git fetch git pull

    解析.git文件夹 进入正题之前,我们先来看看.git文件夹 1.config配置文件 [core] repositoryformatversion = 0 filemode = true bare ...

  8. git pull远程master_github与Git实用操作图解之一

    1. git和github工具的联系 2. github创建Git 仓库 New repository -> repository name(仓库名称) ->Public(免费) -> ...

  9. git fetch实战以及与git pull 的区别

    共有四种方式 1.git fetch 这一步执行两个操作 创建并更新所有远程分支的本地分支并设定当前当前分支 的fetch_head为远程的master 2.git fetch origin 同上只不 ...

最新文章

  1. 库克喜提 8 亿年终奖,2020 年整体薪酬增长 28%
  2. Android中文API(115)——AudioFormat
  3. ***学习笔记教程五:***技术
  4. SAP Spartacus和Table相关的配置结构ResponsiveTableConfiguration
  5. 手工机器人的做法大全用易拉罐_纯手工自制黄油,做法简单详细易操作,蛋糕、饼干、面包都能用...
  6. 打印工资条怎么做到每个人都有表头明细_一分钟生成500人的工资条?还有2种方法?...
  7. 【Android源码】Activity如何加载布局
  8. 夏普 DN7C3A006 PM2.5 传感器测量步骤及存在问题
  9. Java后台解决跨域问题
  10. uilabe加载html,UILabel加载html字符串
  11. WinForm 单例模式实例
  12. 室内三维地图编辑器,制作地图软件哪个最好
  13. matlab数字图像处理课程设计报告,数字图像处理实验报告范文
  14. Bluno 是干什么的?- 云物联戒烟设备的可选原型之一
  15. 易语言基于HTML(网页)开发软件界面UI的方法
  16. 解决外网下载速度过慢问题
  17. AQS框架原文翻译 - The java.util.concurrent Synchronizer Framework
  18. 选择高防空间应该注意什么?
  19. SQLserver分离数据库
  20. 水压计算机控制系统原理图,水压试验机控制系统研究与开发

热门文章

  1. 系统延迟任务及定时任务
  2. 快速查询快递物流,根据更新量筛选出只揽收的单号
  3. java从入门到精通----基础1
  4. 梁昌勇 软件工程_梁昌勇的论文专著
  5. 通达信千元主图公式源码
  6. 计算机历史博物馆观后感:阿达·洛芙莱斯生平9(完结)
  7. ***实战:教你轻松查看QQ空间加密后的好友图片
  8. 【无代码体验】使用鲸智搭开发《招聘管理系统》
  9. ubuntu下通过FreeTDS访问SqlServer(c++示例)
  10. Unity 技能范围指示器