Sublime Text 依赖 Sublime Merge 实现多仓库 Git 管理:官方 Git 插件仅封装 CLI、限单仓库操作;Sublime Merge 提供工作区、分支可视化、批量同步及三方冲突解决,需正确配置 git_binary 和 mergetool。

Sublime Text 本身不支持多仓库统一管理,也没内置分支可视化面板;要实现类似 VSCode 或 GitKraken 的集中式 Git 操作体验,必须组合使用 Sublime Merge(独立 GUI 工具) + Sublime Text 的 Git 插件,并明确分工。
Sublime Text 的 Git 插件只负责单仓库轻量操作
官方 Git 插件(作者 wbond)本质是命令行封装器,所有操作直通 git CLI。它不维护仓库列表、不渲染分支图、不提供跨仓库状态聚合——右键菜单里的 Git: Status 或快捷键 Ctrl+Shift+G 只对当前打开文件所在 Git 仓库生效。
- 若项目嵌套深(如
~/proj/webapp/src),需确保侧边栏高亮路径在.git同级或子目录下,否则右键无 Git 选项 - 插件找不到
git命令?不是插件问题,是 Sublime 启动时没继承 shell 的PATH(尤其 macOS zsh / Windows Git for Windows 路径未加进系统环境变量) - 别同时装
SideBarGit和官方Git插件——两者劫持右键菜单,Commit可能点不动,且错误被吞掉
Sublime Merge 才是真正的多仓库 Git 中心
Sublime Merge 是独立应用,不是 Sublime Text 插件。它原生支持「工作区(Workspace)」概念:可一次性加载多个本地 Git 仓库,每个仓库以标签页形式并列显示,顶部导航栏直接切换,左侧「Repositories」面板永久列出所有已添加仓库。
- 添加仓库:菜单
Repository → Add Repository…,选中任意含.git的目录即可,不限层级 - 分支可视化:主界面左上角「Branches」面板实时展示所有本地/远程分支,带颜色标记和提交链,点击即可切换或比较
- 多仓库同步操作:按住
Ctrl(Win/Linux)或Cmd(macOS)可多选仓库,批量执行Pull、Fetch等操作
三方合并冲突必须用 Sublime Merge,不能靠 Sublime Text 插件
Sublime Text 的 Git 插件遇到冲突只会报错 CONFLICT (content): Merge conflict in xxx,然后卡住——它不提供任何可视化冲突编辑能力。真正解决冲突,必须依赖 Sublime Merge 的三方视图(ancestor/local/remote/merged)。
- 配置关键三行命令必须完整执行:
git config mergetool.smerge.cmd "smerge \"$BASE\" \"$LOCAL\" \"$REMOTE\" -o \"$MERGED\""、git config mergetool.smerge.trustExitCode true、git config merge.tool smerge - 启动后若看不到基版本(上方)区域,说明
$BASE为空——常见于 rebase 冲突或空提交,此时只能手动编辑中间区域 - 保存后必须在终端运行
git add,仅点 Sublime Merge 的保存按钮不会让 Git 认为冲突已解决
容易忽略的路径与权限细节
Sublime Merge 默认调用系统 git,但某些场景下会因权限或路径隔离失败:Windows 上用 Git Bash 安装的 git 可能不在 PATH,macOS 上通过 Homebrew 安装的 git 若未软链到 /usr/local/bin,Sublime Merge 就找不到。
- 验证方式:终端运行
which git,把输出路径填入 Sublime Merge 设置里的git_binary字段(偏好设置 → Advanced → git_binary) - Linux 用户若从桌面图标启动 Sublime Merge,常因
.desktop文件未加载 shell 配置导致 PATH 缺失,建议改用终端执行smerge启动 - Windows 用户若安装路径含空格(如
C:\Program Files\Sublime Merge\),环境变量里必须用英文双引号包裹,否则smerge命令无法识别











