Sublime Text需安装Git插件并正确配置git_command路径和push.default为matching,使用SSH密钥认证,手动初始化仓库并设置上游分支后,才能通过命令面板执行Git操作。

Sublime Text 本身不内置 Git 或 GitHub 支持,必须靠 Git 插件 + 正确的本地 Git 环境才能完成提交、推送等操作。直接配错 git_command 路径或漏设 push.default,会导致 git push 命令静默失败或报错 “fatal: The current branch has no upstream branch”。
Git 插件安装与 git_command 路径配置
插件名就是 Git(不是 GitHub Tools 或 SideBarEnhancements),通过 Package Control: Install Package 安装即可。安装后必须手动指定系统中真实可用的 git.exe 路径,否则所有 Git 命令都会报 Unable to find git executable。
- Windows 下常见路径是
"git_command": "C:\Program Files\Git\cmd\git.exe"或"D:\Git\cmd\git.exe"—— 注意用双反斜杠或正斜杠,单反斜杠会触发 JSON 解析错误 - macOS/Linux 下通常可留空或填
"git_command": "/usr/bin/git",但推荐先在终端运行which git确认实际路径 - 配置位置:菜单 → Preferences → Package Settings → Git → Settings – User,粘贴 JSON 对象后保存
push.default 必须显式设置
Sublime 的 Git: Push 命令底层调用的是 git push,而较新版本 Git(2.0+)默认不设 push.default 时会拒绝执行,报错信息类似:fatal: The current branch master has no upstream branch。这不是 Sublime 的 bug,而是 Git 的安全策略变化。
- 必须在终端或 Git Bash 中运行:
git config --global push.default matching - 不要用
current或upstream,它们在 Sublime 插件里兼容性不稳定;matching是最稳妥的选择,能覆盖首次推送和后续推送场景 - 该配置写入的是全局
~/.gitconfig,和 Sublime 无关,但 Sublime 会读取它
SSH 密钥认证比账号密码更可靠
虽然有些旧教程教你在 Sublime 的 Git 设置里填 "username" 和 "password",但这是无效且危险的 —— Git 插件根本不读这两个字段,而且 GitHub 自 2021 年 8 月起已停用密码认证(仅支持 token 或 SSH)。
- 正确做法是生成 SSH 密钥:
ssh-keygen -t ed25519 -C "your_email@example.com" - 把公钥(
~/.ssh/id_ed25519.pub)内容完整复制,粘贴到 GitHub → Settings → SSH and GPG keys → New SSH key - 远程仓库 URL 必须是 SSH 格式:
git@github.com:username/repo.git,不是 HTTPS 格式;否则 SSH 认证不生效 - 测试是否生效:终端中运行
ssh -T git@github.com,看到Hi xxx! You've successfully authenticated才算成功
命令面板快捷键易混淆,注意区分前缀
Sublime 的 Git 命令全靠 Ctrl+Shift+P 面板触发,但输入缩写时容易选错 —— 比如输 ga 可能弹出 Git: Add 或 Git: Add All,输 gc 可能匹配到 Git: Commit 或 Git: Custom Command。
- 推荐输入完整关键词:比如
git add、git commit、git push,避免误操作 -
Git: Clone只接受 SSH 或 HTTPS URL,不能填 GitHub 页面地址(如https://github.com/xxx/yyy);要删掉前缀,只留git@github.com:xxx/yyy.git或https://github.com/xxx/yyy.git - 首次
Git: Push失败时,先检查是否已运行过git push -u origin main(或master)建立上游分支;Sublime 插件不会自动加-u参数
最容易被忽略的是:Git 插件不管理仓库初始化,也不处理分支跟踪关系。你得先在项目根目录手动跑 git init、git add .、git commit -m "init",再配置好远程 origin,Sublime 的 Git: Push 才有东西可推。跳过这步,点十次推送也不会出现在 GitHub 上。


















