gitsavvy分支命令灰显或报“no git repository found”的根本原因是sublime未识别git上下文,必须同时满足:以含.git的最外层根目录打开项目、终端能运行git --version、正确配置git_path并重启sublime。

GitSavvy分支命令为什么总灰显或报“No git repository found”
根本原因不是插件没装好,而是 Sublime Text 没识别到 Git 上下文。GitSavavvy 的所有分支命令(git: branch、git: checkout branch、git: create branch)都依赖三个硬性条件同时满足:
- 项目必须通过 File → Open Folder… 打开含
.git/目录的**最外层根目录**(不能打开src/或单个文件) - 终端中能正常执行
git --version(验证 Git CLI 可用) -
git_path配置正确且 Sublime 已重启(它不继承 shell PATH,尤其 macOS GUI 启动时必失效)
常见配置错误:"git_path" 写成 "git_binary";值写成字符串而非对象;Windows 路径漏掉双反斜杠(应为 "C:\Program Files\Git\bin\git.exe");macOS 用了 /usr/bin/git 但实际是 Homebrew 安装在 /opt/homebrew/bin/git。
如何安全创建并追踪远程 feature 分支
GitSavvy 不会自动帮你设 upstream,但提供了交互式兜底方案,避免手输 git push --set-upstream 出错:
- 先确保已在目标基线分支(如
develop)上,执行git: checkout branch切过去 - 执行
git: create branch,输入新分支名(如feature/login-ui),勾选 Track remote branch - 开发完提交后,执行
git: push→ 选择 Push current branch - 若提示
no upstream branch,直接回车——GitSavvy 会自动补上--set-upstream origin feature/login-ui
注意:如果远程已存在同名分支但本地未跟踪,勾选 Track 会自动设置 upstream;若没勾选,首次推送必须手动确认 upstream。
rebase onto develop 时 commit 消失?你可能跳过了状态检查
git: rebase 是直调 git rebase,不加任何防护。常见导致 commit “消失” 的操作链:
- 没确认当前分支干净(
git status显示有未暂存/未提交变更) - 没先切到
develop并执行git: pull拉最新 - rebase 过程中遇到冲突,没解决就按
git: rebase continue强行继续 - 误在 rebase 中用了
git: checkout branch切走,中断了 rebase 流程
安全做法:rebase 前先用 git: status 确认工作区干净;rebase 中冲突时,必须手动编辑冲突文件 → git add → git: rebase continue;全程不要离开当前分支。
删除分支前必须确认的两件事
GitSavvy 的 git: branch: delete 默认只删本地分支,但容易误删未合并分支。执行前务必检查:
- 当前是否在待删分支上?如果是,先
git: checkout branch切到其他分支(如main或develop) - 该分支是否已合并到目标主线?可在状态面板顶部看分支图,或执行
git: log查看git merge-base develop feature/login-ui是否存在
更稳妥的做法:用 git: branch: delete 时勾选 Safe delete (only merged branches) —— 它会调用 git branch --merged 做校验,未合并的分支会被跳过,不会弹窗警告但也不会执行删除。











