Git History插件需满足入口、文件状态、命令名三者匹配才能使用:仅在资源管理器和源代码控制视图提供右键菜单;命令名为“Git History: Show File History”;Diff需手动点击展开;不支持双提交对比,需配合内置命令或终端操作。

Git History 插件装了不等于能用,入口、文件状态、命令名三者错一个就点不开历史。
为什么右键没出现“Git: View File History”
插件根本不会往编辑器内容区或代码行右键菜单里加选项——这是设计如此,不是 bug。它只在两个地方暴露右键入口:资源管理器里的文件项,以及源代码控制视图中已暂存/未暂存的文件列表。
- 确保当前工作区是 Git 仓库根目录(即
.git/在打开的文件夹下) - 右键资源管理器中的目标文件 → 看是否有
Git: View File History - 若没有,检查设置里
git.enabled是否为true;禁用其他 Git 插件(如 GitLens)避免命令冲突 - VSCode 1.85+ 版本命令名已改为
Git History: Show File History,命令面板搜git history时得认准这个名称
点了提交却看不到 diff 内容
Git History 默认只显示提交元信息(作者、时间、消息),Diff标签需要手动点击才能展开。很多人点进去就关掉,以为没内容。
- 进入某次提交详情页后,顶部有三个标签:
Overview、Files、Diff—— 真正看改动得点开Diff - 如果
Diff仍是空白,常见原因是:该文件在那次提交中已被删除或重命名;或路径含空格/Unicode 字符;或.gitattributes标记为 binary - 此时终端执行
git show abc1234 -- path/to/file.js更可靠,能绕过 VSCode 渲染限制
想对比两个任意提交间的文件差异
Git History 原生不支持双提交对比,界面里 Ctrl+Click 或拖拽选中无效。
- 最快方式:先用 Git History 复制第一个提交哈希(右键 →
Copy SHA),再用 VSCode 内置命令Git: Compare HEAD with...粘贴第二个哈希 - 跨分支对比前,务必先
git fetch,否则哈希解析失败会报fatal: bad revision 'xxx' - 大文件 diff 卡顿?直接终端跑
git diff abc1234 def5678 -- path/to/file.js,输出重定向到新文件里看
真正容易被忽略的是:所有视图都依赖本地 reflog 和索引状态。刚git commit完却看不到新提交,不是插件延迟,而是 VSCode 没触发刷新——要么手动运行Git: Refresh Status,要么关掉文件夹再重开。


















