注意:使用的是IDEA 2025.3.4版本,不同版本操作界面会略有不同。
在一个分支进行开发,代码未达到提交标准,需要切换到另一分支时。
用 git stash(储藏),把当前未提交的代码临时存起来 → 切分支 → 回来再恢复IDEA 里点点鼠标就能完成,完全不用 commit,不会丢代码。下面简要介绍下步骤:
1.选中项目,右键--Git--Stash Changes(储藏更改);
2.在弹窗中可以写备注,比如:半完成的XX功能,点Create Stash。
3.此时所有修改的代码会被暂时隐藏,当前分支回到干净状态,然后就可以切换分支了。
如果切换为正在开发的分支,想恢复暂存的代码,参照上面的步骤,点击Unstash Changes.在弹出的储藏提交列表中选择要恢复的储藏,点击Pop就可以恢复储藏的代码了。
Pop和Apply都可以恢复储藏的代码,日常情况下怎么选
| 选项 | 作用 | 储藏记录 | 适用场景 |
|---|---|---|---|
| Pop(推荐日常用完就选) | 恢复储藏代码到当前工程 | 恢复成功后自动删掉这条 stash 记录 | 一次性使用,恢复完不再需要这份储藏数据 |
| Apply | 恢复储藏代码到当前工程 | 储藏记录永久保留,条目还在储藏列表 | 需要多次复用同一份储藏代码、多分支复用、不确定是否还要二次恢复 |
总结:
核心规则:Git 不允许你在有未提交修改的情况下切换分支
因为切换分支会覆盖文件,Git 怕丢你代码,所以阻止你。
总结起来解决方案只有 3 种:
git stash(储藏)不产生 commit ,不留脏提交记录, 随时恢复
暂存到本地 commit(临时提交)不推荐,会产生垃圾提交记录。
新建临时分支保存适合代码写了很多,需要长期保存。