sublime text 编辑器内 git 提交本质是调用本地 git 命令行工具,需同时满足三条件:系统 git 可用且路径被 sublime 正确识别、以含 .git 的项目根目录打开、安装正确插件(如 gitsavvy 支持 commit template);否则命令灰显或无响应。

Sublime Text 本身不带 Git 客户端,所谓“编辑器内提交”,本质是让它调用你本地装好的 git 命令行工具。插件只是个壳,git 能不能被 Sublime 找到、项目目录对不对、插件选没选对——这三样错一个,就卡在“点不动”或“弹窗没反应”上。
确认 git 命令是否真正可用
这不是“装过 Git 就算数”的事。Sublime 是 GUI 应用,它不一定继承你终端里的 PATH 环境变量。
- 先在终端(Terminal / CMD / Git Bash)里运行
git --version,必须返回类似git version 2.40.1的结果 - Windows 用户如果用的是 Git for Windows,默认安装时一定要勾选 “Add Git to the system PATH”
- Mac 用户用 Homebrew 安装的,可能需要在 Sublime 启动脚本里手动加
export PATH="/opt/homebrew/bin:$PATH" - Linux 用户注意:某些桌面环境(如 GNOME)启动的 GUI 应用不会加载
~/.bashrc,得改~/.profile或用命令行启动 Sublime:subl .
别装错插件:GitSavvy 是唯一能写 commit template 的选择
装错插件是第二大概率失败原因。wbond 的官方 Git 插件(不是 GitSavvy)只支持 git commit -m "",压根不读 commit.template,也不弹编辑器;GitGutter 更只是显示改动状态,右键根本没 “Commit” 选项。
- 用
Package Control: Install Package搜索并安装GitSavvy(作者是timbrel,不是 wbond) - 安装后,必须以含
.git目录的项目根目录为工作区打开(即用File → Open Folder,而不是单个文件) -
GitSavvy默认走 Git 原生交互流程,所以你配置的core.editor和commit.template都能生效
Git: Commit 不是普通文本框,按 Ctrl+Enter(Win/Linux)或 Cmd+Enter(Mac)才确认
执行 Git: Commit 后,Sublime 会新开一个 untitled buffer,标题是 “Git Commit Message”。这不是让你随便敲完回车就完事的输入框。
- 输完提交信息后,必须按
Ctrl+Enter(Windows/Linux)或Cmd+Enter(Mac),否则关掉窗口就丢弃 - 如果没反应,检查输出面板(
View → Show Console),常见错误是fatal: not a git repository(没在.git目录下打开)或error: unable to start editor(core.editor没配对) - 想让提交信息模板生效,确保已设:
git config --global commit.template ~/.gitmessage,且core.editor指向 Sublime(如git config --global core.editor "subl --wait")
Git: Push 失败?大概率是没设 upstream
第一次推送几乎必然报错:fatal: The current branch main has no upstream branch。这不是网络问题,也不是权限问题。
- 在 GitSavvy 面板里选
Git: Push → Set upstream and push,它会自动帮你跑git push --set-upstream origin main - 后续再推就不用重复设了,但分支名要对得上(比如远程是
main,本地却是master,也会失败) - 如果用 HTTPS 协议推 GitHub,记得提前配好
git credential.helper store,否则每次弹密码框;推荐改用 SSH,密钥配好一次就一劳永逸
最容易被忽略的其实是项目打开方式——必须用文件夹形式打开(File → Open Folder),而不是双击某个 .py 文件单独打开。GitSavvy 只认 .git 所在目录为工作区,其他路径下所有 Git 命令都灰掉,连状态栏都不会显示分支名。











