git pull origin master与git pull --rebase origin master的区别
建议:最好看一遍廖雪峰的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的区别相关推荐
- 本地没有任何修改,只是git pull时,显示git ahead of ‘origin/master‘ by * commits
目录 TL;DR 问题 原因 解决方案 TL;DR 本地没有更改,只是从远程pull,但是显示Your branch is ahead of 'origin/master' by 3 commits. ...
- git rebase origin master 和 origin/master
google git rebase origin master 和 origin/master的区别,结合自己的理解,总结如下: 首先,git rebase是两个分支之间的作用,如下图 一般情况下,我 ...
- 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 ...
- #39;git pull#39;和#39;git fetch#39;有什么区别?
主持人注意:鉴于此问题已经发布了67个答案 (其中一些已删除),请在发布另一个问题之前考虑您是否正在贡献新内容 . git pull和git fetch什么区别? #1楼 我花了一点时间来了解有什么区 ...
- git push -u origin master和git push 远程主机名 本地分支名:远程分支名作用
git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分支名>:< ...
- Git初学札记(四)————Git Push的常规操作与Pull冲突解决
目录 引言 Git命令行的远程Push EGit Push操作中的冲突问题 同步 工作区与本地库同步 工作区与远程库同步 图标 重点 引言 在团队开发当中,Git Push是多人协作环节中的最重要的一 ...
- fetch git pull 切换_git fetch git pull
解析.git文件夹 进入正题之前,我们先来看看.git文件夹 1.config配置文件 [core] repositoryformatversion = 0 filemode = true bare ...
- git pull远程master_github与Git实用操作图解之一
1. git和github工具的联系 2. github创建Git 仓库 New repository -> repository name(仓库名称) ->Public(免费) -> ...
- git fetch实战以及与git pull 的区别
共有四种方式 1.git fetch 这一步执行两个操作 创建并更新所有远程分支的本地分支并设定当前当前分支 的fetch_head为远程的master 2.git fetch origin 同上只不 ...
最新文章
- 库克喜提 8 亿年终奖,2020 年整体薪酬增长 28%
- Android中文API(115)——AudioFormat
- ***学习笔记教程五:***技术
- SAP Spartacus和Table相关的配置结构ResponsiveTableConfiguration
- 手工机器人的做法大全用易拉罐_纯手工自制黄油,做法简单详细易操作,蛋糕、饼干、面包都能用...
- 打印工资条怎么做到每个人都有表头明细_一分钟生成500人的工资条?还有2种方法?...
- 【Android源码】Activity如何加载布局
- 夏普 DN7C3A006 PM2.5 传感器测量步骤及存在问题
- Java后台解决跨域问题
- uilabe加载html,UILabel加载html字符串
- WinForm 单例模式实例
- 室内三维地图编辑器,制作地图软件哪个最好
- matlab数字图像处理课程设计报告,数字图像处理实验报告范文
- Bluno 是干什么的?- 云物联戒烟设备的可选原型之一
- 易语言基于HTML(网页)开发软件界面UI的方法
- 解决外网下载速度过慢问题
- AQS框架原文翻译 - The java.util.concurrent Synchronizer Framework
- 选择高防空间应该注意什么?
- SQLserver分离数据库
- 水压计算机控制系统原理图,水压试验机控制系统研究与开发