git history 和 gitsavvy 是 sublime text 中真正可用的 git 提交历史查看插件;git history 需项目根目录含 .git 才激活,gitsavvy 的 gs_graph 依赖 git log --graph 且需 git ≥2.10;行级溯源须用 git: blame 而非 view file history。

Git History 和 GitSavvy 是 Sublime Text 中真正能查看 Git 提交历史的两个可用插件;装 GitGutter 或只配好 Git 插件,都看不到任何提交记录。
Git History: View File History 为什么点不动?
这不是插件坏了,是它根本没被激活——它只在「当前窗口根路径下存在 .git 目录」时才加载。
- 必须用 File → Open Folder… 打开整个项目目录(比如
/Users/me/myapp),不能双击打开单个index.js - 侧边栏顶部显示的路径里得有
.git,否则右键菜单不会出现Git History: View File History - 命令面板搜不到该命令?说明 Sublime 还没识别到 Git 上下文,先验证
git --version在终端是否可用,再检查插件设置中"git_binary"是否指向真实路径(如 macOS 上"/opt/homebrew/bin/git") - 插件可能被禁用:打开
Preferences → Package Settings → Git History → Settings – User,确认"enabled": true生效
GitSavvy 的 gs_graph 视图怎么才能看到分支图?
GitSavvy 的历史视图依赖终端级 git log --graph 输出,不是纯前端渲染——如果终端跑 git log --graph --oneline 报错或不显示 ASCII 分支线,Sublime 里也一样空白。
- 确保系统 Git 版本 ≥ 2.10(老版本默认不支持
--graph渲染) - 执行
git config --global log.graph true,否则gs_graph可能退化为线性列表 - 快捷键绑定示例(加到用户键绑定文件):
{"keys": ["ctrl+shift+g"], "command": "gs_graph", "args": {"all": true}} - 按
l键可快速切换到日志视图,但光标需先落在历史视图窗口内;若按了没反应,说明焦点还在编辑区,先按Esc退出编辑模式
想查“这一行是谁改的”,别用 Git History
Git History: View File History 列的是整个文件的提交,不是行级溯源。要定位某一行代码的修改者和时间,得靠 git blame 行级分析。
- 装
Git插件(wbond 版)后,命令面板搜Git: Blame,或绑定快捷键:{"keys": ["ctrl+alt+b"], "command": "git_blame"} - 必须是已
git add进暂存区的文件,未跟踪(untracked)文件会报错 - 鼠标悬停在 gutter 的 commit hash 上,能看到作者、时间、message;但注意:它只显示「最后一次写入该行」的提交,不是所有修改记录
- 自定义 Build System 调
git blame -L $line,$line很容易失败——$line只在 Ctrl+Shift+B 触发时有效,普通构建不带行号上下文
Git: Diff 不等于“和历史比”,这点最容易误判
Git: Diff(默认快捷键 Ctrl+Shift+D)对比的是「工作区 vs 暂存区」,不是「当前 vs HEAD」。刚改完文件却看不到差异?大概率你已经 git add 过了。
- 要看「当前 vs 上次提交」,得用
Git: Diff with HEAD(部分插件版本提供),或手动绑定Git: Diff All - 想对比任意两个 commit?插件不支持,必须切终端:
git diff abc123 def456 -- path/to/file -
GitGutter的 +/~/- 图标也只反映工作区 vs HEAD,它不感知暂存区状态——所以git add后图标不会消失,但Git: Diff会变空
Git 历史功能的可靠性完全取决于本地仓库完整性与插件对 git 命令调用的稳定性;Local History 插件的快照和 Git 无关,删掉 .sublime-history/ 就彻底消失,不能替代提交。











