本文来源:http://blog.csdn.net/trochiluses/article/details/10100719
1.出错场景:

协同开发时,我们从远程服务器上pull下代码的时候,出现以下提示信息:

Auto Merge Failed; Fix Conflicts and Then Commit the Result.

2.原因分析:

利用git status,输出如下:

root@hyk-virt:/etc# git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 2 different commits each, respectively.
#
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#    both modified:      apt/sources.list
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    modified:   cups/subscriptions.conf
#    modified:   cups/subscriptions.conf.O
#    modified:   mtab
#    modified:   update-manager/release-upgrades
#
no changes added to commit (use "git add" and/or "git commit -a")

从git status的结果可以发现:其中sources.list这个文件存在合并冲突
而进一步分析git pull的原理,实际上git pull是分了两步走的,(1)从远程pull下origin/master分支(2)将远程的origin/master分支与本地master分支进行合并

以上的错误,是出在了第二步骤

3.解决方法

方法一:如果我们确定远程的分支正好是我们需要的,而本地的分支上的修改比较陈旧或者不正确,那么可以直接丢弃本地分支内容,运行如下命令(看需要决定是否需要运行git fetch取得远程分支):

$:git reset --hard origin/master

或者$:git reset --hard ORIG_HEAD

解释:

git-reset - Reset current HEAD to the specified state

--hard
               Resets the index and working tree. Any changes to tracked files
               in the working tree since <commit> are discarded.

方法二:我们不能丢弃本地修改,因为其中的某些内容的确是我们需要的,此时需要对unmerged的文件进行手动修改,删掉其中冲突的部分,然后运行如下命令

$:git add filename

$:git commit -m "message"

方法三:如果我们觉得合并以后的文件内容比价混乱,想要废弃这次合并,回到合并之前的状态,那么可以运行如下命令:

$:git reset --hard HEAD

最新文章

  1. 鹏程网用户管理系统学习(2016-07-18 by 徐鹏)
  2. Bluetooth Low Energy 嗅探
  3. sublime text3的安装与汉化
  4. ajax 异步请求webservice(XML格式)
  5. [svn]svn: E155015: 提交失败(细节如下) 解决办法
  6. 分享10 个超酷的 HTML5/CSS3 应用及源码
  7. HTML DOM的nodeName,nodeValue,nodeType介绍
  8. zzuli 1907: 小火山的宝藏收益 邻接表+DFS
  9. 70后.net老猿,尚能饭否?
  10. XmlReader 使用
  11. 多级nginx代理,获取客户端真实ip
  12. 隔离级别简介 (mysql)
  13. jmeter 如何发送上传文件接口请求
  14. centos 7.2 64位 docker安装lamp环境
  15. 时空CLR解密登陆密码源码
  16. A1074. Reversing Linked List
  17. CSS3动画常用demo
  18. Amber learning note A8: Loop Dynamics of the HIV-1 Integrase Core Domain
  19. JavaScript语法详解:if语句&amp;for循环&amp;函数
  20. windows 命令巧用(持续更新)

热门文章

  1. shell趣味实验——图形
  2. 计算机毕业设计项目-基于SSM的学生会管理系统-基于ssm的社团信息管理系统
  3. 文件流FileStream技术出现的理由漫谈
  4. 北航OO第二单元——电梯调度
  5. ACM学习笔记:可持久化线段树
  6. DVWA靶场之XSS(Stored)通关
  7. 【工作篇】了解升级 Spring 版本导致的跨域问题
  8. [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现
  9. 理解SpingAOP
  10. msp432搭建平衡小车(二)