在使用git的过程中经常需要使用到git pull命令,在更新远端代码的同时如果与本地代码产生冲突了,

那么冲突的文件中就出现了需要手动合并的部分,而git pull --rebase不同的地方则是当有这些冲突存在时,

git帮我们自动创建了一个新的分支,并且git告诉你接下来你要在这个新的分支上处理这个冲突,

此时执行git status命令后可以看到首要的提示是这样的:

rebase in progress; onto 24f42c6
You are currently rebasing branch 'master' on '24f42c6'.
(fix conflicts and then run "git rebase --continue")

并且git还告诉我们 fix conflicts and then run "git rebase --continue",意思是解决冲突然后执行git rebase --continue命令,

其实git rebase --continue的正确操作应该是确认处理好冲突后则将调整好的文件添加到暂存区,并执行git rebase --continue命令告诉git,我已经解决好冲突了,

并且已经将处理后的文件添加到了暂存区,现在可以将这些文件commit了,

简单来讲就是正常的解决冲突过程是

1,git add .

2,git commit -m "..."

3,git push时因为本地仓库代码与远程仓代码有冲突,所以接下来

4,git pull拉取远程代码,而冲突需要手动解决

5,解决好后重新进行git add . git commit -m".." git push

而git pull 这一步如果加上了 --rebase的选项,那么第5步操作将变成如下

git add .

git rebase --continue

git push

所以git pull --rebase用在合并代码的时候其作用就是在一个随机创建的分支上处理冲突,避免了直接污染原来的分区

git pull --rebase的理解的更多相关文章

  1. git pull --rebase 做了什么? 以及 Cannot rebase: You have unstaged changes 解决办法

    最近刚学 git rebase,觉得很牛逼的样子, 结果今天就被打脸了. git pull --rebase 报错: Cannot rebase: You have unstaged changes ...

  2. 简单对比git pull和git pull --rebase的使用

    使用下面的关系区别这两个操作:git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase 现在来看看git m ...

  3. 【Git】git pull和git pull --rebase的使用

    git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase 现在来看看git merge和git rebase ...

  4. git pull --rebase的使用

    原文:http://www.cnblogs.com/kevingrace/p/5896706.html 使用下面的关系区别这两个操作:git pull = git fetch + git mergeg ...

  5. git pull和git pull --rebase的使用

    使用下面的关系区别这两个操作: git pull = git fetch + git merge git pull --rebase = git fetch + git rebase 现在来看看git ...

  6. 聊下git pull --rebase

    有一种场景是经常发生的. 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个.然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周.在这期间你可能需要时不时的需要pull下远程 ...

  7. 关于git中git pull --rebase中的一些坑

    在公司里面,每次我更改完代码,准备pull最新代码时,总是会遇到各种各样的问题.,因为对应的问题不同,解决方法很多.但是比较通用的办法还是有的: git pull --rebase   //报错时 g ...

  8. git pull --rebase

    git reset --hard orgin/master $ git push bit 1.8-subchannels To git@bitbucket.org:cms.git ! [rejecte ...

  9. Difference between git pull and git pull --rebase

    个人博客地址:  http://www.iwangzheng.com/ 推荐一本非常好的书 :<Pro Git>  http://iissnan.com/progit/ 构造干净的 Git ...

随机推荐

  1. 一道常被人轻视的web前端常见面试题(JS)

    本文转载自站长之家,如有侵权问题,请联系我,马上删除. 面试题是招聘公司和开发者都非常关心的话题,公司希望通过它了解开发者的真实水平和细节处理能力,而开发者希望能够最大程度地展示自己的水平(甚至超常发 ...

  2. dotnetcore实现Aop

    dotnetcore实现Aop Aop大家都不陌生,然而今天给大家不将讲官方的filter,今天给大家分享一个轻量级的Aop解决方案(AspectCore) 什么是AspectCore AspectC ...

  3. 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 5

    23.3  接口的安全控制规范 23.2节的示例实现了一个简单接口,但是这个接口此时是在“裸奔”的.因为这个接口所有人都可以请求,不仅我们的客户端可以正常访问数据,如果有人使用如fiddler.wir ...

  4. mysql 5.7 创建用户报错ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

    如: INSERT INTO user (host, user, authentication_string, select_priv, insert_priv, update_priv) VALUE ...

  5. [debug] 解决在C++编写过程中的“找到一个或多个多重定义的符号”

    如下图: 其在 common.h 中定义了一个变量a ,然后在两个 cpp 文件中都是用它. 在这种情况下,链接时就会出现 “找到一个或多个多重定义的符号”. 解决方案: 在某个cpp文件中定义,然后 ...

  6. 一段不错的iframe自适应的代码直接拿来用了

    一段不错的iframe自适应的代码直接拿来用了 <?php echo " <!DOCTYPE html> <html lang='en'> <head&g ...

  7. U8 BOM数据结构

    U8 BOM涉及的数据表有四张 bom_bom     BOM资料  该表主要记录BOM表的一些基本信息,版本.创建.审核等信息,不包括任何子件.母件信息:bomid是BOM主键 bom_parent ...

  8. Z从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之十 || AOP面向切面编程浅解析:简单日志记录 + 服务切面缓存

    本文梯子 本文3.0版本文章 代码已上传Github+Gitee,文末有地址 大神反馈: 零.今天完成的深红色部分 一.AOP 之 实现日志记录(服务层) 1.定义服务接口与实现类 2.在API层中添 ...

  9. python bin文件处理

    参考: https://blog.csdn.net/and_then111/article/details/86744938 https://blog.csdn.net/zw515370851/art ...

  10. go-家庭收支记账软件例子

    家庭收支记账软件项目 项目需求说明 1) 模拟实现基于文本界面的<家庭记账软件> 2) 该软件能够记录家庭的收入.支出,并能够打印收支明细表 项目的界面 看代码效果 项目代码实现 实现基本 ...