Git拉取代码时遇合并问题:未完成合并报错及命令行标识异常
解决Git未完成合并的问题
嘿,这个问题我碰到过好多次了,其实就是上次的合并操作没做完,Git在硬提醒你收尾呢~你的命令行显示(master|MERGING)也明确说明了当前正卡在合并过程中,下面分两种场景给你解决方案:
情况1:你想完成这次合并(解决冲突后提交)
如果这次合并是你需要的,只是因为代码冲突没走完流程,按下面步骤来:
- 先确认哪些文件有冲突:运行
git status,Git会列出所有标记为both modified的冲突文件 - 手动打开这些冲突文件,找到类似这样的冲突标记:
编辑文件,保留你需要的代码内容,删除这些冲突标记<<<<<<< HEAD 你的本地代码片段 ======= 拉取过来的远程代码片段 >>>>>>> [分支名/提交ID] - 解决完所有冲突后,暂存修改的文件:
git add <冲突文件名>(如果所有冲突都搞定了,直接用git add .更省事) - 最后提交合并结果:
git commit,这时候会自动弹出合并提交的默认信息,保存退出即可(比如在Vim里输入:wq)
情况2:你想放弃这次合并,回到合并前的状态
如果这次合并是误操作,或者你不想继续了,直接撤销合并就行:
- 运行
git merge --abort,这个命令会把仓库恢复到合并开始前的状态,同时删除MERGE_HEAD,命令行的(master|MERGING)标记也会消失 - 要是你的Git版本比较旧(低于2.23.0),
git merge --abort可能不支持,那就用git reset --merge,效果完全一样
内容的提问来源于stack exchange,提问作者CoderTn




