git pull报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result
来源:互联网 发布:申请淘宝账号注册 编辑:程序博客网 时间:2024/05/22 17:30
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 ..." as appropriate to mark resolution)
#
# both modified: apt/sources.list
#
# Changes not staged for commit:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." 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 are discarded.
方法二:我们不能丢弃本地修改,因为其中的某些内容的确是我们需要的,此时需要对unmerged的文件进行手动修改,删掉其中冲突的部分,然后运行如下命令
$:git add filename
$:git commit -m "message"
方法三:如果我们觉得合并以后的文件内容比价混乱,想要废弃这次合并,回到合并之前的状态,那么可以运行如下命令:
$:git reset --hard HEAD
- git pull报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result.
- git pull报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result.
- git pull报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result
- git pull报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result.
- git 使用场景一,pull报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result.
- git常见问题之git pull时Automatic merge failed; fix conflicts and then commit the result.
- git: Auto Merge Failed; Fix Conflicts and Then Commit the Result.
- 芒果iOS开发之 CONFLICT (content): AutoMatic merge failed;fix conflicts and then commit the result.
- Fix git “not currently on any branch” after merge conflicts
- git pull 报错:Your configuration specifies to merge with the ref 'master'from the remote
- git---如何解决git pull之后报错:Please enter a commit to explain why this merge is necessary?(merge branch)
- eclipse git报错git The current branch is not configured for pull No value for key branch.master.merge
- git pull报错refusing to merge unrelated histories
- merge conflicts in Git
- 【Git】git rebase+fix conflict+git add+git rebase --continue或git merge+fix conflict+git add+git commit
- eclipse git 报错:the current branch is not configured for pull No value for key branch.xxx.merge found
- git: fetch and merge, don’t pull
- Git分支 and Pull&Fetch&Merge
- mvc js传参的一种
- 远程调用原理与对比RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB
- 源码-Oracle数据库管理-第十三章-子程序和包-Part 2(定义子程序)
- Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
- 需要管理的6.0权限列表
- git pull报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result
- Spring Batch(5): Step详解
- Mongodb简介
- regex in SearchEverything
- table中head表头固定,body滚动
- PHP内存释放有关的操作
- mybatis测试的时候报错No suitable driver found for jdbc。。。解决办法
- hadoop1.x 与hadoop2.x 架构变化分析
- 关键字错误。。。