【git stash切换】

问题

当前正在修改对应某个bug,突然来了个更紧急的工作,需要保留现场,去对应更紧急的事务,git该如何操作?

1. 查看当前工作状态(确认修改)

git status

2. 保存当前工作现场(包含未提交的修改)

git stash save "WIP: Bugfix for issue #123" # 添加描述性信息

3. 确认工作区已干净

git status # 应显示"working tree clean"

4. 切换到紧急任务分支

git checkout main # 或创建新分支 git checkout -b hotfix-xxx

5. 处理紧急任务(修改、提交等)

... 进行紧急修改 ...

git add .

git commit -m "紧急修复XX问题"

6. 完成紧急任务后,回到原分支

git checkout original-branch

7. 恢复之前保存的工作现场

git stash pop # 恢复并删除最近的stash

查看存储列表

bash 复制代码
git stash list
bash 复制代码
ubuntu@ubuntuxxxxxx$ git stash list
stash@{0}: On hotfix-0529: save as leds
stash@{1}: On pdx257_fac_0523: bug for 0529 issue read

选择特定存储恢复

  1. 恢复但不删除
bash 复制代码
git stash apply stash@{1}
  1. 恢复并删除
bash 复制代码
git stash pop stash@{1}

最佳实践

bash 复制代码
[ 当前工作状态 ] 
   ↓
git stash save "描述"  → [ 安全存储箱 ]
   ↓ 
[ 干净工作区 ] → 处理紧急任务 → 提交
   ↓ 
git stash pop 
   ↓ 
[ 恢复工作现场 ]
相关推荐
天竺鼠不该去劝架1 小时前
金融智能体选型指南:通用大模型还是垂直专业平台?
经验分享
大志哥1234 小时前
idea+git插件+云备份实现项目新分支新建维护
git
数据库小学妹4 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai
恋喵大鲤鱼5 小时前
git merge
git·git merge
码客日记5 小时前
Spring Boot 配置文件敏感信息加密(Jasypt 企业级完整方案)
java·spring boot·git
_codemonster6 小时前
Codex 核心进阶玩法(技能/MCP/派生/分叉/Git/钩子/子智能体)
git
逻极6 小时前
Git 从入门到精通:版本控制协作实战指南
git·github·分支管理·版本控制
恋喵大鲤鱼6 小时前
git clean
git·git clean
Patrick_Wilson6 小时前
为省一次回归测试,该不该把多个改动堆进一条分支?
git·ci/cd·架构
恋喵大鲤鱼7 小时前
git blame
git·git blame