vscode需扩展或命令查看git提交历史:git graph适合分支拓扑可视化与图形化操作,git history专注单文件变更追踪,内置命令功能有限但无需扩展。

VSCode 本身不自动显示 Git 提交历史图,必须靠扩展或内置命令手动触发;Git Graph 和 Git History 是目前最实用、问题最少的两个选择,但用法和适用场景完全不同。
Git Graph 扩展:适合看分支结构和做图形化操作
它把 git log --graph 可视化成带颜色分支线的拓扑图,不是列表,是真·分支关系图。装完后左侧活动栏会出现图标,点开即用,无需打开文件。
- 默认只显示当前检出分支,要看所有分支得在右上角搜索框输
--all或点齿轮 → 勾选Show All Branches - 合并提交(merge commit)默认显示为菱形节点,但若没勾选
Show Merge Commits,分支线会突然断掉——这不是 bug,是默认隐藏 - 右键提交节点可直接
Create Branch、Checkout、Cherry Pick,比命令行快,但操作前务必确认当前工作区干净(git status无 untracked/unstaged) - 点提交后右侧显示文件列表,点击文件才能进
Diff;如果点文件后空白,大概率是该文件在那次提交中已被删除或重命名,Git Graph 不会 fallback 到 parent 版本
Git History 扩展:专注单文件变更追踪
它不画图,只列时间线,专为“这个文件是怎么一步步变成现在的”而生。但注意:Git History 不提供右键菜单入口,装完就右键找选项肯定失败。
- 必须用命令面板:
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Git History: Show File History(VSCode 1.85+)或Git: View File History(旧版) - 前提:当前编辑器标签页必须打开一个已被
git add过的文件(git status能看到它),否则提示 “no history” - 点开某次提交后,默认只显示作者、时间、message;真正看代码改了哪几行,得手动点顶部的
Diff标签——很多人卡在这一步,以为插件坏了 - 对比两个 commit?它原生不支持。最快办法是复制第一个 commit 的 SHA,在命令面板运行
Git: Compare HEAD with...,再粘贴第二个 SHA
内置 Git 功能够不够用?
够,但有限。VSCode 内置的 Git: View File History 和 Git: View Branch History 命令其实已覆盖大部分日常需求,且不依赖第三方扩展。
- 它们要求严格:工作区必须是 Git 仓库根目录(
.git/在当前打开文件夹下),状态栏要显示分支名(如main),否则命令不可用或报错 -
View Branch History默认不含--all,看不到其他分支提交;想看全量,得在命令面板里输Git: View Branch History后,在弹出的输入框里手动加--all - 点提交后 diff 空白?常见于路径含空格或 Unicode 字符,或该提交中文件被
.gitattributes标记为 binary;此时终端执行git show <sha> -- path/to/file</sha>更可靠
真正容易被忽略的是:所有这些视图都依赖本地 Git reflog 和索引状态。刚 git commit 完却看不到新提交?不是插件延迟,而是 VSCode 没触发 Git 状态刷新——关掉再重开文件夹,或手动运行 Git: Refresh Status 命令。











