GitGutter是用于在行号区(gutter)显示Git状态标记的插件,通过红/绿/蓝小块标识删除/新增/修改行,依赖系统PATH中的git命令,仅比较工作区与HEAD差异,不支持暂存区对比。

GitGutter 是你要找的插件,不是 GitDiff
Sublime Text 没有叫 GitDiff 的官方或主流插件;你实际想实现的是「在行号区(gutter)显示 Git 状态标记」,对应插件是 GitGutter。它会在编辑器左侧 gutter 区画出红/绿/蓝小块,分别表示该行被删除、新增或修改——这是最接近「行号区展示差异状态」的成熟方案。
安装 GitGutter 必须确保 Git 命令行可用
GitGutter 本身不内置 Git,它依赖系统 PATH 中的 git 可执行文件来获取 diff 数据。如果安装后 gutter 无任何标记,大概率是这一步没走通:
- Windows 用户:安装 Git 时务必勾选 “Add Git to the system PATH”;若已安装,可打开命令提示符运行
git --version验证 - macOS/Linux 用户:终端中执行
which git,确认返回有效路径;若为/usr/bin/git且版本过旧(如 macOS 自带的),建议用 Homebrew 安装新版本并软链到/usr/local/bin/git - 插件配置中无需手动设
git_command,除非git不在标准 PATH —— 此时在GitGutter.sublime-settings里加:{ "git_binary": "/opt/homebrew/bin/git" }
行号区标记只反映工作区 vs 暂存区/HEAD 的差异
GitGutter 默认比较的是「当前文件内容」和「Git 仓库中最新提交(HEAD)」之间的差异。它不会显示暂存区(staged)与未暂存(unstaged)之间的区别,也不会高亮你刚 git add 过但还没 commit 的变更——那些变更在 gutter 中会直接消失,因为已进入暂存区,和 HEAD 一致了。
GInstall OneClick — 一键安装 GitHub 项目:规划、克隆、安装 Node 依赖、运行开发脚本。适用于想要获取 GitHubNode.js 项目的用户。
- 想看到「暂存前 vs 暂存后」的对比?做不到。GitGutter 不支持 staging-aware mode
- 标记颜色含义固定:
added行显示绿色块,modified显示蓝色块,removed显示红色块(整行被删) - 空白行或仅空格变化的行默认不触发标记;如需开启,设
"ignore_whitespace": false(但会显著增加 CPU 开销)
常见失效场景和快速自检项
右键文件 → GitGutter: Show Diff Popup 没反应?gutter 一片空白?先检查这几项:
- 文件必须属于某个 Git 仓库:确认当前文件路径下存在
.git目录(git rev-parse --git-dir应返回路径) - 文件不能是未保存的临时缓冲区(untitled):必须已保存为磁盘上的真实文件,且路径在 Git 仓库内
- 插件未启用:命令面板输入
GitGutter,看是否有GitGutter: Toggle或GitGutter: Refresh命令出现 - 权限问题:Linux/macOS 下,若 Sublime 是通过桌面图标启动而非终端,可能继承不到 shell 的 PATH —— 尝试从终端运行
subl .打开项目
真正难调试的是跨子模块或符号链接路径下的仓库识别,这种情况下 GitGutter 往往静默失败,没有报错提示——唯一办法是换用 git status 手动验证路径是否被 Git 正确识别。

















