Git Stash 的使用主要分为暂存、恢复和删除三部分操作,具体方法如下:
一、暂存更改
- 基本暂存:执行 git stash 可将当前工作区所有未暂存的更改(包括未跟踪的文件)保存到栈中,并恢复工作目录到上一次提交的状态。
- 添加注释:使用 git stash save "注释内容" 可为暂存内容添加描述,便于后续识别。例如:git stash save "修复登录页样式问题"。
- 部分暂存:通过 git stash save -p 进入交互模式,逐项选择要暂存的更改(按 y 确认、n 跳过),适合仅保存部分修改的场景。
二、恢复暂存内容
- 恢复最近暂存:执行 git stash apply 会将最近一次暂存的内容应用到当前工作区,但不会删除栈中的暂存记录。
- 恢复特定暂存:通过 git stash apply stash@{n} 指定索引号 n 恢复对应暂存(索引可通过 git stash list 查看)。例如:git stash apply stash@{1}。
- 查看暂存列表:运行 git stash list 可显示所有暂存记录及其注释,格式为 stash@{n}: 注释内容。
- 恢复并删除暂存:使用 git stash pop 等效于先执行 apply 再执行 drop,即恢复最近暂存并自动删除其记录。
三、删除暂存内容
- 删除特定暂存:执行 git stash drop stash@{n} 可删除指定索引的暂存记录。若省略 n,默认删除最近一次暂存。
- 清空所有暂存:通过 git stash clear 可一次性删除所有暂存记录,此操作不可逆,需谨慎使用。
注意事项
- 恢复暂存时,若工作区存在未提交的冲突修改,apply 或 pop 可能失败,需先提交或暂存当前更改。
- 使用 git stash apply --all 可尝试将所有暂存应用到工作区,但要求工作区必须干净(无未提交更改),否则会报错。
- 暂存记录的索引号从 0 开始,按时间倒序排列(最新为 0)。
通过灵活组合上述命令,可高效管理代码开发中的临时修改,避免因切换分支或紧急修复导致的代码丢失问题。