发布于2026-07-17 阅读(0)
扫一扫,手机访问
VS Code 本身并不保存或显示“Git冲突记录”——它只在冲突发生时实时标记当前未解决的冲突文件和块,不会回溯历史冲突。所谓“查看冲突记录”,实际是指定位、识别并进入正在发生的冲突状态。
执行 git merge 或 git pull 触发冲突后,VS Code 会立刻在左侧“源代码管理”视图(Ctrl+Shift+G)中生成一个名为 MERGE CHANGES 的区域,下面列出所有带 Conflicted 标签的文件。
这些文件旁边会有一个红色感叹号⚠️,并标注冲突数量(如“3处冲突”)。点击任一文件,编辑器会自动跳转并高亮显示首个冲突块。
需要注意几点:
- 如果没看到 MERGE CHANGES 分组,说明 Git 没报告冲突(可能已自动合并,或者你尚未执行合并操作)
- 文件若只在 Changes 区显示但无 Conflicted 标签,那只是普通修改,不是冲突
点击冲突文件后,VS Code 默认会以三栏“合并编辑器”打开(Current|Incoming|Result),而不是原始文本编辑器。
这个视图才是你真正“查看冲突”的地方:
Current 栏显示你当前分支的代码(HEAD 所指版本)Incoming 栏显示要合并进来的分支代码(比如 feature/login 的最新提交)Result 栏是可编辑的输出区,你在这里决定最终保留什么如果意外打开了纯文本视图(看到 <<<<< HEAD 这类标记),右键文件标签,选择 Open with Merge Editor 即可切回来。
VS Code 1.69+ 版本才默认启用图形化合并编辑器;旧版本或被手动关闭时,冲突文件只会以普通文本打开。
确认设置已开启:
Ctrl+,)git.mergeEditortrue(不是 undefined 或 false)顺带建议开启 git.inlineMergeControls:设为 true 后,冲突行末尾会出现 ✓ 当前、✓ 传入、✓ 两者 小按钮,不用拖到顶部也能快速操作。
Git 不记录“谁在哪次合并里遇到了什么冲突”,只保留最终合并提交对象。如果真想追溯某次合并的上下文:
git log --merges -n 5 查最近 5 次合并提交commit hash 后,运行 git show 看父提交(parent 字段有两个 SHA)git diff 手动比对两分支分歧点——但这不是 VS Code 能图形化展示的内容真正实用的做法是:把每次解决冲突的过程当作一次小范围代码评审,关注 Result 栏里你亲手敲下的每一行——那才是唯一值得“查看”的冲突记录。

售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8