git merge git pull时候遇到冲突解决办法git stash

在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息:

error: Your local changes to 'c/environ.c' would be overwritten by merge.  Aborting.
Please, commit your changes or stash them before you can merge.

这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。

处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。

1、先将本地修改存储起来

$ git stash

这样本地的所有修改就都被暂时存储起来 。

$ git stash list                 可以看到保存的信息:

git stash暂存修改

其中stash@{0}就是刚才保存的标记。

2、pull内容

暂存了本地修改之后,就可以pull了。

$ git pull

3、还原暂存的内容

$ git stash pop stash@{0}

系统提示如下类似的信息:

Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。

4、解决文件中冲突的的部分

打开冲突的文件,会看到类似如下的内容:

git冲突内容

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

解决完成之后,就可以正常的提交了。

5 删除stashgit stash drop <stash@{id}>  如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。git  stash clear 是清除所有stash,整个世界一下子清净了!

6 git stash pop  与 git stash apply <stash@{id}> 的区别。

当我使用git stash pop 和 git stash apply 几次以后,我发现stash  list 好像比我预计的多了几个stash。于是我便上网去了解了一下这两个命令的区别。原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,而 git stash apply stash@{id} 命令则会继续保存stash id。对于有点强迫症的我来说,是容不下越来越多的陈旧stash id 仍然存在的,所以我更习惯于用git stash pop 命令。

http://www.01happy.com/git-resolve-conflicts/

收获不会与付出成反比 by juandx

转载于:https://www.cnblogs.com/qiminghaonan/p/9001726.html

git merge git pull时候遇到冲突解决办法git stash相关推荐

  1. git pull 显示的冲突---解决办法git stash

    git pull:显示本地仓库与远程仓库有冲突 Please, commit your changes or stash them before you can merge. Aborting 解决办 ...

  2. 怎么把好几行弄成一行_我在git merge的时候遇到了冲突,怎么解决?

    大家好,今天来和大家聊一个老生常谈的问题,我们在使用git merge的时候遇到了冲突,怎么办? 首先我们来看看为什么会冲突,git冲突的原因很简单,就是两个分支当中对同一处代码进行了不同的改动.于是 ...

  3. git点击pull后没有同步_关于git pull时出现的问题及解决反思

    前因 在前面由于已经git过一次,按照娄老师的要求,代码一个一个commit,所以删掉之前的git仓库(用la查看,使用rm -rf .git删除).但远程origin已经存在,所以执行git rem ...

  4. git push origin master提交报错解决办法

    使用git push origin master将本地提交推送到远程仓库的时候 遇到了这样的一个报错 wangting@DESKTOP-O81VEVO MINGW64 ~/Desktop/wisdom ...

  5. SVN仓库迁移到Git遇到的两个问题和解决办法

    SVN仓库迁移到Git遇到的两个问题和解决办法 参考文章: (1)SVN仓库迁移到Git遇到的两个问题和解决办法 (2)https://www.cnblogs.com/shawnpoo/p/SVN-c ...

  6. git branch -a无法显示远程分支解决办法

    阅文时长 | 0.2分钟 字数统计 | 330.4字符 主要内容 | 1.引言&背景 2.git fetch拓展 3.声明与参考资料 『git branch -a无法显示远程分支解决办法』 编 ...

  7. 哈希表及哈希冲突解决办法

    哈希表及哈希冲突解决办法 目录 什么是哈希表? 哈希表的数据结构 哈希冲突 哈希冲突解决办法 1. 什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直 ...

  8. Hash——哈希法概念、哈希函数构造方法、哈希冲突解决办法(重点讨论链地址法)

    声明:本篇博客根据回顾老师上课知识和书籍<数据结构--用C语言描述>(耿国华)整理得出,仅作知识回顾学习用. 1.哈希法 哈希法又称散列法.杂凑法.关键字地址计算法.相对应的表称为哈希表. ...

  9. Visio2019与Win10输入法冲突解决办法

    Visio2019与Win10输入法冲突解决办法 Visio2019在Win10下使用时,经常出现输入法只能输入英文不能输入中文的情况.出现这种现象时,关闭Visio再次打开一般可以恢复正常输入一段时 ...

最新文章

  1. 在HTML网页中巧用URL
  2. 大厂前端高频面试问题与答案精选
  3. ML之监督学习算法之分类算法一 ——— 决策树算法
  4. spring顾问包装通知
  5. segue和delegate实现两个页面传值
  6. [html] 怎样在文本框中禁用中文输入法?
  7. Android模拟器访问本机服务IP地址
  8. 2020快手食品行业数据价值报告
  9. php地址地区选择器,区域选择 - 按大区及省市多选区域,可自定义用于其它业务 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
  10. Vue.js(8)- 父组件给子组件传值
  11. MyEclipse重新定位svn的路径
  12. 20190902每日一句
  13. JVM、JRE、JDK、Java SE、Java EE、Java ME
  14. Android Java基础面试题
  15. Ruby on Rails 入门学习
  16. Flutter实战】文本组件及五大案例
  17. metro,subway,tube这三个单词如何区分?
  18. video-react
  19. ssms管理linux数据库,SQL Server 2017 Developer的下载、安装、配置及SSMS的下载安装配置(图文教程详解)...
  20. 关于系统分析师的考试感想

热门文章

  1. JS事件冒泡机制和兼容性添加事件
  2. 获得WebApi用Post方法获得新增数据的信息
  3. Leetcode 1 Two Sum
  4. Asp.net 导入Excel(服务器不带Office)
  5. smartarm3250 performance
  6. VB.Net中关于数组赋值
  7. 意大利万岁??摘自网络
  8. Docker 底层实现
  9. hdu5247找连续数(打表)
  10. POJ 3301 三分(最小覆盖正方形)