使用git pull 指令时报错:error: You have not concluded your merge (MERGE_HEAD exists).
在这里插入图片描述
直接翻译上面的报错信息可知:

错误:您尚未结束合并(merge_HEAD存在)。
提示:请在合并之前提交您的更改。
致命:由于未完成合并而退出。

通过上面的信息多少知道了自己错误的根源。

首先我本地是有一些已经commit的代码,但是还没有push到远程。

我在git pull指令执行之后,从远程拉取代码到本地,会自动执行一个merge操作,如果有冲突,就会merge失败,正常情况下,第一次pull会显示merge失败的文件,然后让你手动去修改。

但是我看冲突文件有点多,就执行了放弃所有更改,大概就是git checkout . 指令,清除了本地冲突的文件,这时候应该还是在merge的过程中,也就是当前merge还未结束,结果再次git pull的时候就报错了。

解决方法:放弃本次merge操作,然后重新pull代码,手动修改冲突代码,合并上传。

git merge --abort   // 终止合并
git reset --merge   // 重置合并
git pull			// 重新拉取代码

建议:
大家在使用git pull的时候,本地不要有修改的代码且未提交,如果修改的代码就是不需要提交的代码,可以使用git stash暂存起来,等执行完git操作且没有问题后,使用git stash apply还原到本地即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐