如何使用Git Stash进行暂存

如何使用Git Stash进行暂存
最新回答
木·乃·伊

2026-05-11 13:28:44

Git Stash 的使用主要分为暂存、恢复和删除三部分操作,具体方法如下:

一、暂存更改

  1. 基本暂存:执行 git stash 可将当前工作区所有未暂存的更改(包括未跟踪的文件)保存到栈中,并恢复工作目录到上一次提交的状态。
  2. 添加注释:使用 git stash save "注释内容" 可为暂存内容添加描述,便于后续识别。例如:git stash save "修复登录页样式问题"。
  3. 部分暂存:通过 git stash save -p 进入交互模式,逐项选择要暂存的更改(按 y 确认、n 跳过),适合仅保存部分修改的场景。

二、恢复暂存内容

  1. 恢复最近暂存:执行 git stash apply 会将最近一次暂存的内容应用到当前工作区,但不会删除栈中的暂存记录。
  2. 恢复特定暂存:通过 git stash apply stash@{n} 指定索引号 n 恢复对应暂存(索引可通过 git stash list 查看)。例如:git stash apply stash@{1}。
  3. 查看暂存列表:运行 git stash list 可显示所有暂存记录及其注释,格式为 stash@{n}: 注释内容。
  4. 恢复并删除暂存:使用 git stash pop 等效于先执行 apply 再执行 drop,即恢复最近暂存并自动删除其记录。

三、删除暂存内容

  1. 删除特定暂存:执行 git stash drop stash@{n} 可删除指定索引的暂存记录。若省略 n,默认删除最近一次暂存。
  2. 清空所有暂存:通过 git stash clear 可一次性删除所有暂存记录,此操作不可逆,需谨慎使用。

注意事项

  • 恢复暂存时,若工作区存在未提交的冲突修改,apply 或 pop 可能失败,需先提交或暂存当前更改。
  • 使用 git stash apply --all 可尝试将所有暂存应用到工作区,但要求工作区必须干净(无未提交更改),否则会报错。
  • 暂存记录的索引号从 0 开始,按时间倒序排列(最新为 0)。

通过灵活组合上述命令,可高效管理代码开发中的临时修改,避免因切换分支或紧急修复导致的代码丢失问题。