Sublime Text 需通过 Git 插件实现 stash 功能,未安装/启用插件、非仓库根目录或未聚焦受控文件均会导致无法调用;stash 后状态栏不自动刷新,需手动刷新或重启文件夹。

Sublime Text 本身不内置 Git stash 功能,必须依赖插件(最常用的是 Git 插件)才能调出 stash 操作;直接按快捷键或右键菜单找不到 stash 选项,大概率是插件没装、没启用,或当前目录不是 Git 仓库根目录。
确认已安装并启用 Sublime 的 Git 插件
Sublime 的官方 Git 插件(由 wbond 维护)是所有 Git 操作的基础。它不提供图形界面,但为命令面板和右键菜单注入 Git 命令。
- 用
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板,输入Package Control: Install Package,回车后搜索并安装Git - 安装完成后重启 Sublime(部分版本需手动启用:菜单
Preferences → Package Settings → Git → Enable) - 打开一个真实 Git 仓库的文件夹(不是子目录),确保项目根目录下有
.git文件夹;否则右键菜单里不会出现 Git 相关项
通过命令面板触发 git stash
Git 插件把 git stash 封装为命令 git_stash,但默认没有绑定快捷键,也不能从右键直接调用 —— 必须走命令面板。
- 确保当前视图聚焦在某个受 Git 跟踪的文件上(或已打开整个仓库文件夹)
- 按
Ctrl+Shift+P打开命令面板,输入Git: Stash,选择该项 - 会弹出输入框,默认显示
git stash push -m "...",你可以直接回车(生成默认消息),或输入自定义描述(如WIP: form validation)再回车 - 若提示
fatal: No local changes to save,说明暂存区或工作区无修改;若提示error: unable to create temporary file,通常是权限问题或路径含中文/空格,建议改用终端执行
stash 后如何恢复、查看、丢弃
插件只提供基础 stash 入口,后续操作仍需命令面板配合其他 Git 命令,且注意参数差异:
-
Git: Stash Pop→ 执行git stash pop,恢复最近一次 stash 并删除它;若冲突,Sublime 不做合并提示,需切终端手动解决 -
Git: Stash Apply→ 执行git stash apply,恢复但不删除 stash;适合多次尝试应用不同 stash -
Git: Stash List→ 显示git stash list输出,但仅限文本输出(无交互式选择),想应用某条需记下索引(如stash@{1}),再用Git: Custom Command手动输git stash apply stash@{1} -
Git: Stash Drop→ 删除最近一条 stash;要删指定条,只能用Custom Command输入git stash drop stash@{2}
真正容易被忽略的是:Sublime 的 Git 插件不会自动刷新状态栏里的分支名或脏标记(比如右下角的 main*),stash 后即使工作区变干净,星号可能还在。此时需手动关闭再重开文件夹,或执行一次 Git: Refresh Status(如有该命令)—— 很多用户误以为 stash 失败,其实是 UI 没更新。











