VS Code不保存历史冲突记录,仅实时标记当前未解决的冲突:在源代码管理面板(Ctrl+Shift+G)的“MERGE CHANGES”区域查看带⚠️标识的冲突文件,点击后默认以三栏合并编辑器显示Current、Incoming和Result内容,支持一键接受或手动整合。
VS Code 本身不保存或显示“Git冲突记录”——它只在冲突发生时实时标记当前未解决的冲突文件和块,不会回溯历史冲突。所谓“查看冲突记录”,实际是指定位、识别并进入正在发生的冲突状态。
冲突文件在哪看?源代码管理面板里的 Conflicted 分组
执行
或
触发冲突后,VS Code 会立刻在左侧“源代码管理”视图(
)中生成一个名为
MERGE CHANGES
的区域,下面列出所有带
标签的文件。
这些文件旁有红色感叹号 ⚠️,并标注冲突数量(如 “3处冲突”)。点击任一文件,编辑器自动跳转并高亮首个冲突块。
注意:
- 如果没看到
分组,说明 Git 没报告冲突(可能已自动合并,或你尚未执行合并操作)
- 文件若只在
区显示但无
标签,那只是普通修改,不是冲突
冲突内容怎么呈现?三栏合并编辑器是默认视图
点击冲突文件后,VS Code 默认以三栏“合并编辑器”打开(
|
|
),而非原始文本编辑器。
这个视图才是你真正“查看冲突”的地方:
栏显示你当前分支的代码(HEAD 所指版本)
栏显示要合并进来的分支代码(比如
的最新提交)
栏是可编辑的输出区,你在这里决定最终保留什么
每个冲突块用红/绿色边框+灰色背景高亮,左右差异一目了然
如果意外打开了纯文本视图(看到
这类标记),右键文件标签 → 选择
即可切回来。
Git
程序猿必备版本控制工具
下载
为什么点不开冲突?检查
git
.mergeEditor 设置是否启用
VS Code 1.69+ 版本才默认启用图形化合并编辑器;旧版本或被手动关闭时,冲突文件只会以普通文本打开。
确认设置已开启:
打开设置(
)
搜索
确保其值为
(不是
或
)
无需重启,改完即生效
顺带建议开启
:设为
后,冲突行末尾会出现
、
、
小按钮,不用拖到顶部也能快速操作。
想“回看”上次合并冲突?Git 本身不存日志,但可查提交元信息
Git 不记录“谁在哪次合并里遇到了什么冲突”,只保留最终合并提交对象。如果你真想追溯某次合并的上下文:
用
查最近 5 次合并提交
找到对应
后,运行
看父提交(
字段有两个 SHA)
再用
手动比对两分支分歧点——但这不是 VS Code 能图形化展示的内容
真正实用的做法是:把每次解决冲突的过程当作一次小范围代码评审,关注
栏里你亲手敲下的每一行——那才是唯一值得“查看”的冲突记录。
git mergegit pullCtrl+Shift+GConflictedMERGE CHANGESChangesConflictedCurrentIncomingResultCurrentIncomingfeature/loginResult<<<<< HEADOpen with Merge EditorCtrl+,git.mergeEditortrueundefinedfalsegit.inlineMergeControlstrue✓ 当前✓ 传入✓ 两者git log --merges -n 5commit hashgit show parentgit diff Result