Sublime Text需安装wbond的Git插件并正确配置git路径、确保文件位于仓库内,才能使用Git: Checkout Branch等命令操作分支;该命令对不存在的分支名会自动创建并检出,创建分支后需手动切换。

Sublime Text里根本不能直接创建或切换Git分支
Sublime Text本身不内置Git功能,所谓“Sublime Git分支操作”,实际依赖第三方插件(最常用的是 Git 插件,即 wbond 的原生 Git 插件,不是 GitSavvy 或 SideBarGit)。它只是把命令行 git checkout、git branch 等封装成快捷菜单和命令面板入口。如果你没装对插件、没配好 git 可执行路径,或者当前文件不在 Git 仓库根目录下,所有分支操作都会静默失败或报错 fatal: not a git repository。
安装并配置 Git 插件后才能调出分支命令
必须满足三个条件:插件已安装、git 命令在系统 PATH 中(或在 Sublime 设置里显式指定路径)、当前打开的文件/文件夹属于 Git 仓库工作区。
- 用 Package Control 安装插件时搜
Git,认准作者是wbond,别选错成GitGutter(它只显示 diff 小图标)或SideBarGit(功能重叠但命令逻辑不同) - 检查
Preferences → Package Settings → Git → Settings,确认"git_command"值正确:macOS/Linux 一般留空即可;Windows 若报'git' is not recognized,需填类似"C:\Program Files\Git\bin\git.exe" - 用
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS)呼出命令面板,输入Git:,能看到Git: Checkout Branch和Git: Create Branch才算就绪
Checkout Branch 不等于切换分支,它可能只是新建并检出
Git: Checkout Branch 命令行为取决于你输入的名字是否已存在。它本质是运行 git checkout <name>,但如果 <name> 不存在,Git 默认会尝试 git checkout -b <name>(前提是当前没有未提交更改)。这点容易误操作:
- 想切到已有分支
dev,却输成dev2→ 插件自动新建dev2并切换过去,原dev分支没动 - 工作区有未暂存修改时,
git checkout会拒绝切换(除非加-f),但 Sublime 的插件不会弹窗警告,只会报错在状态栏闪一下error: Your local changes would be overwritten - 分支名含斜杠(如
feature/login)要手动输入完整,命令面板的分支列表默认不显示远程跟踪分支(如origin/main),得先git fetch再输全名
创建新分支前务必确认当前 HEAD 状态
Git: Create Branch 实际执行的是 git branch <name>,它只建分支指针,不切换。很多人以为点了就等于“在新分支上干活”,结果后续所有提交仍落在原分支上。
- 创建后必须立刻再执行一次
Git: Checkout Branch输入刚建的名,才算真正切换 - 如果想一步到位,直接用
Git: Checkout Branch并输入新名字更稳妥(前提是没有冲突的未提交改动) - 插件不校验分支名合法性:输入
my branch(含空格)会失败,报error: 'my branch' is not a valid branch name;但插件不会提前拦截,错误只出现在控制台(Ctrl+`调出)
真正麻烦的不是操作步骤多,而是插件把 Git 的底层状态隐藏太深——它不显示当前分支名颜色标识,不提示 ahead/behind 远程分支,也不警告 untracked 文件。一旦记错当前在哪,git add . 后再 git commit 就可能提错分支。

















