git冲突需人工解决:先用git status确认unmerged paths,再编辑文件删掉

Windows系统下执行git pull时提示CONFLICT (content)、文件里出现
快速识别冲突状态
执行git pull后若终端显示“Automatic merge failed”或“CONFLICT (content)”字样,立即停止后续操作。此时git status命令会列出所有Unmerged paths,这些就是冲突文件,文件名前带红色感叹号。
不要跳过这一步直接编辑——【未运行git status就动手改文件,容易漏掉隐藏冲突】。有些冲突可能发生在.git/index中但尚未写入工作区,git status是唯一可靠的状态快照。
手动编辑解决冲突
用VSCode、Notepad++等文本编辑器打开任一冲突文件,你会看到类似这样的三段式标记:
本地刚加的日志打印语句
=======
远程分支里新增的错误处理逻辑
>>>>>> a3f8d1c
删除全部标记行(包括>>>>>>及它们之间的空行),只保留你最终要保留的代码内容。比如你想同时保留日志和错误处理,就把两段都留下并手动调整顺序和语法。
这一步操作起来很简单,直接把不需要的标记行整行删掉就行。但注意:不能只删标记不删中间代码,也不能留着标记提交——Git会把它当普通文本处理,导致运行时报错。
使用TortoiseGit图形化工具解决
方法一:右键→TortoiseGit→Edit conflicts
启动内置三窗格对比工具,左侧是本地修改(Ours),右侧是远程变更(Theirs),中间是合并结果区。点击对应区块上方的箭头按钮,可一键接受某一方内容;拖动滚动条可逐块比对。
直播话术巡检系统(Windows版) — 实时语音转写、关键词检测、场景自动切换、告警推送、大屏可视化。支持 Windows VB-Cable 虚拟声卡音频采集,阿里云 ASR 实时识别。一键启动脚本,自动安装环境。
方法二:右键→TortoiseGit→Resolve conflict
勾选“Use auto-merge if possible”,工具会先尝试自动合并无冲突部分,再把剩余冲突块交给你手动裁定。这个选项对含大量独立函数修改的文件特别省力。
注意:如果之前用命令行执行过git add,TortoiseGit可能无法识别当前冲突状态,需先执行git reset --hard HEAD还原暂存区。
完成冲突处理并提交
第一步:将所有已编辑完毕的冲突文件执行git add → git add .
第二步:确认暂存区无遗漏,运行git status检查是否只剩clean working tree
第三步:执行git commit -m "resolve merge conflict with origin/main"
这一步不可跳过。Git不会自动创建合并提交,必须显式commit才算真正结束冲突流程。如果忘记commit,下次pull仍会报同样冲突,且HEAD指针停留在MERGING状态,影响所有后续操作。










