首页/开发/Git 与协作速查/git stash 保存工作现场
Git 基础与命令88 条

git stash 保存工作现场

把已跟踪文件的改动与暂存状态存入 stash 栈,工作区回到干净状态;默认不含未跟踪文件,可用消息标记用途。

Git 与协作速查开发更新于 2026-10-12
默认范围已跟踪文件的改动
栈引用stash@{0} 为栈顶,可带 -m 消息
查看git stash list / git stash show -p

常用示例

常用示例
git stash push -m 'wip: api refactor'
git stash list
git stash show -p stash@{0}
stash 本质是保存在 refs/stash 的提交对象,理解这一点后 pop 与 apply 的差异就很自然。

易错点

  • 未跟踪的新文件默认不入栈,需要 -u;丢弃前先 list 确认有没有长期未取回的记录
  • stash 与当前分支无关:在任何分支都能 pop,冲突时按当前分支内容解决

数据来源与参考

  • Git 官方文档:git-stash
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌