英溯IT论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6436|回复: 0

git pull指令报错:error: You have not concluded your merge (MERGE_HEAD e...

[复制链接]

94

主题

101

帖子

510

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
510
发表于 2023-4-24 20:41:35 | 显示全部楼层 |阅读模式
使用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                        // 重新拉取代码
1
2
3
建议:
大家在使用git pull的时候,本地不要有修改的代码且未提交,如果修改的代码就是不需要提交的代码,可以使用git stash暂存起来,等执行完git操作且没有问题后,使用git stash apply还原到本地即可。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|英溯IT论坛 ( 沪ICP备13022730号-6 )

GMT+8, 2024-4-26 22:29 , Processed in 0.101810 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表