gitgutter 不显示标记的根本原因是 sublime 未找到 git 可执行文件或项目根目录未被识别为 git 仓库;新增/删除文件无图标因默认只对比工作区与暂存区,未跟踪文件不显示。

GitGutter 插件没反应,git 命令行能用但 Sublime 里不显示标记
根本原因通常是 Sublime 没找到系统 git 可执行文件,或者项目根目录没识别为 Git 仓库。GitGutter 不会自动初始化仓库,它只监听已有 .git 目录的变更。
- 确认项目根目录下存在
.git文件夹(不是子目录里) - 在 Sublime 中打开的是项目根目录(File → Open Folder…),不是单个文件或子文件夹
- 检查
GitGutter.sublime-settings里的"git_binary"配置:如果git不在系统 PATH,得填绝对路径,比如"/usr/local/bin/git"(macOS)或"C:\Program Files\Git\bin\git.exe"(Windows) - 重启 Sublime —— 它只在启动时读取
git_binary配置,改完设置不重启无效
为什么新增/删除文件没图标,只有修改行有箭头?
GitGutter 默认只显示工作区与暂存区(index)的差异,而新文件、删除文件默认处于“未跟踪”状态,不在 index 里,所以不标记。这是设计使然,不是 bug。
- 运行
git add .后,新增文件会显示+图标;删除文件执行git rm <file></file>后会显示- - 想让未跟踪文件也显示?不行 —— GitGutter 不支持该模式,它严格遵循 Git 的三棵树模型(working tree / index / HEAD)
- 如果误删了文件但还没
git rm,GitGutter 不会提示,得靠git status或侧边栏插件辅助
Windows 上中文路径报错:fatal: not a git repository
Sublime 在 Windows 下调用 git 时,若项目路径含中文,且 git 版本
- 升级 Git 到
2.30+(推荐 Git for Windows 2.40+),基本解决 - 临时绕过:把项目移到纯英文路径,比如
C:devmyproject - 别改 GitGutter 的
env编码配置 —— 它不暴露该接口,强行 patch 主题或插件源码易失效
图标显示错位、重叠或完全空白
本质是 Sublime 的 gutter 图标渲染机制和当前配色方案冲突,尤其在高 DPI 屏幕或自定义 UI 缩放后更明显。
- 先禁用所有其他 gutter 类插件(如
BracketHighlighter、SublimeLinter),确认是否冲突 - 换回默认主题(Preferences → Theme → Default.sublime-theme),看是否恢复
- 调整
GitGutter.sublime-settings中的"gutter_theme",比如设为"Default"或"Monokai"(需对应已安装的主题包) - 别手动修改
gutter_size或gutter_padding—— Sublime 5+ 已移除这些老参数,设了也没用
git status --porcelain -z 和 git diff --no-color --no-ext-diff --cached -z --,解析输出定位变更行。真正难调的从来不是功能开关,而是路径上下文、Git 状态快照时机、以及 Sublime 自身对 gutter 图标的渲染限制。










