必须用gitsavvy才能在sublime中生效commit.template,因其唯一默认调用git commit无-m参数、走git原生交互流程,而wbond版git插件和sublimegit均用git commit -m ""跳过模板加载;需正确配置绝对路径模板文件、utf-8无bom编码及带--wait的core.editor。

Git 提交模板在 Sublime Text 里不生效,不是你配置错了,而是绝大多数 Git 插件压根不走 Git 的编辑器流程——它们用 git commit -m "" 直接提交,跳过了模板加载环节。
为什么 git config --global commit.template 在 Sublime 里没反应
Git 自身的模板机制只在交互式提交时触发(即调用 core.editor 时),而 Sublime 默认的 Git 插件(wbond 版)和旧版 SublimeGit 都不启用该流程。它弹出的“Commit Message”窗口是插件自己渲染的输入框,不是 Git 启动的编辑器,自然读不到 commit.template。
- 现象:按
Ctrl+Shift+P→Git: Commit,弹出空白 buffer,不是模板内容 - 根本原因:插件调用的是
git commit -m "",而非无-m参数的交互式命令 - 验证方式:在终端执行
git commit(不带-m),如果弹出 Sublime 窗口且显示模板,说明 Git 配置正确,问题纯属插件行为
必须用 GitSavvy 才能真正在 Sublime 里用上模板
GitSavvy 是目前唯一持续维护、默认走 Git 原生命令链的插件。它不自己造轮子,而是调用 git commit(无 -m),让 Git 自己决定是否加载 commit.template 和启动 core.editor。
GitHub 仓库备份技能 - 将 OpenClaw 工作空间自动或手动备份至 GitHub 私有仓库。支持自动定时备份和手动交互式配置,引导完成 Token 配置、仓库创建、首次备份及定时任务设置。用途:(1) 首次设置 (2) 日常备份。
- 安装:按
Ctrl+Shift+P→Package Control: Install Package→ 搜索GitSavvy(作者 divmain),安装后无需重启 - 前提:必须通过
File → Open Folder…打开含.git/的项目根目录,否则所有命令灰显 - 首次提交:运行
Git: Commit会打开标题为Git Commit Message的 untitled buffer —— 这是 Git 启动的编辑器实例,模板已预填,可直接修改 - 确认提交:必须按
Ctrl+Enter(不是Enter),否则关闭即丢弃
commit.template 文件路径和编码必须严格合规
即使用了 GitSavvy,模板仍可能不出现,常见于路径或文件本身不符合 Git 要求。
- 路径必须是绝对路径,且不能含
~:用git config --global commit.template "C:/Users/YourName/git-commit-template"(Windows)或git config --global commit.template "/Users/yourname/Documents/git-commit-template"(macOS/Linux) - 文件编码必须是 UTF-8 无 BOM,否则 Git 读取失败(Sublime 保存时选 “UTF-8” 而非 “UTF-8 with BOM”)
- 文件需有读取权限;Windows 下避免放在 OneDrive 或某些受控目录中
- 内容可含注释(
# 开头)和空行,Git 会自动过滤掉注释行
core.editor 配置影响 Sublime 启动方式
GitSavvy 依赖 core.editor 正确指向 Sublime,并带 --wait 参数,否则 Sublime 无法阻塞 Git 进程,导致提交失败或消息丢失。
- macOS/Linux:
git config --global core.editor "subl --wait" - Windows:
git config --global core.editor "C:/Program Files/Sublime Text/subl.exe --wait"(路径按实际安装位置调整) - 验证:终端执行
git config --global core.editor,输出应含--wait;若未生效,重启 Sublime 或终端 - 注意:不要用
subl -n --wait,-n会新开窗口,破坏阻塞逻辑
最容易被忽略的一点:GitSavvy 的模板支持完全依赖 Git 原生行为,不提供“插件内开关”来启用/禁用模板。只要 git config --global commit.template 设置正确、core.editor 可用、文件可读,它就一定生效——没生效,一定是这三个环节中某一个断了。别在插件设置里找开关,去终端验证 Git 行为本身。










