GitStatus是当前最轻量稳定的分支显示插件,安装后在含.git的项目根目录下,状态栏右下角自动显示分支名(如main)及未提交改动数(●2),但不支持交互操作。

Sublime Text 本身不显示 Git 分支,也不内置提交历史查看能力——所有功能都依赖插件调用系统 git 命令;装错插件、路径配错、项目没在 .git 目录下打开,三者任一出问题,状态栏就空白、右键没菜单、命令面板搜不到 Git: Blame。
GitStatus 能在状态栏显示分支,但只显示不交互
GitStatus 是目前最轻量且稳定的分支显示方案:安装后只要打开含 .git 的项目根目录,状态栏右下角就会自动出现当前分支名(如 main 或 feature/login)和修改状态(●2 表示有 2 个未提交改动)。
- 安装方式:Ctrl+Shift+P →
Package Control: Install Package→ 搜GitStatus,点安装 - 不支持点击切换分支,也不提供右键菜单;它只做一件事:把
git symbolic-ref --short HEAD的结果塞进状态栏 - 常见失效场景:
git_command未配置、项目是子目录而非根目录打开、路径含中文(GitStatus 在部分 Windows 主题下会因编码异常静默失败) - 验证是否生效:打开控制台(Ctrl+`),输入
import subprocess; subprocess.run(['git', 'symbolic-ref', '--short', 'HEAD']),有输出即通
Git History 查看文件提交历史,但不支持行级追溯
Git History: View File History 弹出的是整个文件的 commit 列表,按时间倒序排列,每条记录可点开看 diff。它不查“哪一行是谁改的”,只回答“这个文件被谁在哪次改过”。
- 必须从含
.git的目录打开文件;单独用File → Open File…打开一个.py文件,右键永远没有该菜单 - 如果历史不更新,先执行
Git: Refresh Status(或重启 Sublime),避免因rebase或amend导致缓存未刷新 - 报错
Unable to find git binary?不是插件坏了,是 Sublime 没读到系统 PATH——去Preferences → Package Settings → Git History → Settings – User手动填"git_binary": "/usr/bin/git"(macOS/Linux)或"git_binary": "C:/Program Files/Git/bin/git.exe"(Windows)
GitBlame 插件实时显示光标所在行作者,但要求文件已保存
把光标停在某一行,状态栏立刻显示 张三 - fix auth timeout (3 hours ago) —— 这是 GitBlame 插件的核心能力。它不弹窗、不打断编辑流,但有两个硬前提:
- 文件必须已保存(未保存的临时缓冲区无法关联到 Git 仓库)
- 当前文件路径必须能向上找到
.git(不能是符号链接路径,也不能是子模块内部未初始化的目录) - 格式可自定义:进
Preferences → Package Settings → GitBlame → Settings改format_string,比如加{hash:.7}显示短哈希 - 想看完整 blame 输出?
GitBlame不支持;得换SublimeGit或GitSavvy,用Git: Blame命令在侧边栏拉出全量面板
Git 插件(wbond 版)提供完整命令链,但必须手动暂存
真正能完成 add → commit → push 全流程的,只有 wbond 维护的官方 Git 插件。它不隐藏 Git 工作区/暂存区分离模型,所以漏掉 Git: Add File,Git: Commit 就提交空内容。
- 状态面板里灰色文件 = 未暂存,绿色 = 已暂存;光标放灰色文件名上按 Ctrl+Shift+P →
Git: Add File才能把它变绿 -
Git: Commit弹出的是临时 buffer,保存即提交;不支持-a参数,也不能跳过暂存直接提交所有修改 - Windows 用户注意:
git_command路径中反斜杠必须双写,"C:Program FilesGitingit.exe"会解析失败,要写成"C:\Program Files\Git\bin\git.exe"或用正斜杠"C:/Program Files/Git/bin/git.exe" - 别指望它自动检测冲突或处理 rebase 中断——那是终端的事;它只做命令透传,复杂操作请切出去
最常被忽略的其实是路径上下文:Sublime 启动方式决定它能不能读到 shell 的 PATH,项目打开方式决定插件是否激活,而文件是否保存则直接决定 blame 能不能触发。这三个点卡住,再全的功能也等于零。


















