GitSavvy原生支持状态栏实时显示当前分支,安装后默认启用status_bar_branch功能,只要项目含.git目录且git命令可用,即在右下角显示分支名;GitGutter专注diff标记,分支显示已移除且易失效。

Sublime Text 默认不显示 Git 分支,但可通过插件 GitGutter 或更轻量的 GitSavvy 实现状态栏分支显示——不过要注意:真正稳定、原生支持「状态栏实时显示当前分支」的是 GitSavvy,GitGutter 主要专注 diff 标记,分支显示需额外配置且易失效。
安装 GitSavvy 并启用状态栏分支显示
GitSavvy 是 Sublime 上最成熟的 Git 集成插件,其 status_bar_branch 功能默认开启,只要 Git 项目根目录存在且 git 命令可用,就会在右下角状态栏自动显示分支名(如 main、feature/login)。
- 用
Package Control: Install Package安装GitSavvy(不是Git或GitGutter) - 确保项目根目录含
.git/文件夹(即已git init或git clone过) - 确认系统 PATH 中可执行
git --version;若 Sublime 启动自桌面图标,macOS/Linux 可能读不到 shell 的 PATH,此时需在GitSavvy设置中显式指定git_path - 分支名显示位置固定在状态栏最右侧,颜色与当前主题适配,不支持自定义位置或前缀文字
为什么 GitGutter 通常不推荐用于显示分支?
GitGutter 的核心职责是渲染行号旁的 Git diff 标记(+/-/!),它曾通过第三方 fork 或旧版设置支持分支显示,但官方主线早已移除该功能。强行启用会导致:
- 分支信息不刷新(切换分支后状态栏仍显示旧分支)
- 与
GitSavvy冲突,造成状态栏重复或空白 - 依赖已废弃的
git_statusAPI,Sublime Text 4 下大概率报错AttributeError: 'module' object has no attribute 'status' - 即使临时生效,也不支持 rebase 中的
REBASE_HEAD或分离 HEAD 状态的准确标识
排查状态栏不显示分支的常见原因
装了 GitSavvy 却没看到分支?优先检查这几点:
- 当前文件未位于 Git 仓库内:Sublime 可能只打开了单个文件(
subl file.py),而非整个文件夹(subl project/);必须通过Project → Open Folder加载含.git/的目录 -
git命令不可达:在 Sublime 控制台(Ctrl+`)执行import subprocess; subprocess.run(["git", "--version"])
,若报FileNotFoundError,需在Preferences → Package Settings → GitSavvy → Settings中填入绝对路径,例如"git_path": "/usr/local/bin/git" - 项目根目录识别错误:如果工作区含多层嵌套 Git 仓库,
GitSavvy默认只认离当前文件最近的上层.git/;可通过命令面板运行GitSavvy: Set Repo Path手动指定 - 主题覆盖了状态栏文字:极少数 UI 主题会隐藏状态栏右侧内容,可临时切换回默认主题验证
状态栏分支显示看似简单,实际依赖 Git 仓库上下文、Sublime 的进程环境变量、插件对 Git CLI 的调用稳定性三者协同;一旦其中一环断裂(比如终端能跑 git branch,但 Sublime 调不到),就只能看到空状态栏——这不是配置遗漏,而是环境链路断开了。










