我们经常会遇到这样的情况: 在一个分支开发新功能,还没开发完毕,做到一半时有反馈紧急bug需要处理,但是新功能开发了一半又不想提交。 分支有改变时不提交又不能切换分支,如下:
|
我们经常会遇到这样的情况: 在一个分支开发新功能,还没开发完毕,做到一半时有反馈紧急bug需要处理,但是新功能开发了一半又不想提交。 分支有改变时不提交又不能切换分支,如下:
这时就可以使用 git stash ,stash 就是为此而生的! 二、使用2.1 使用之前,先简单了解下 git stash 干了什么它会保存当前工作进度,会把暂存区和工作区的改动保存到一个未完结变更的堆栈中;执行完这个命令后,在运行 git status 命令,就会发现当前是一个干净的工作区,没有任何改动。
2.2 git stash 相关命令
2.3 使用流程一般先使用 git stash list 查看有没有已经 stash 的记录,避免和自己的混淆,到时候使用时不知道是哪条记录
查看有无用的 list,可以先使用 git stash drop n 删除,直到 list 为空 1. 执行 `git stash`
默认是不带注释的,想要后面看的更清楚该 stash 是存储的什么,可以如下操作: 执行 `git stash save "commend"`
2. 查看刚才保存的工作进度 `git stash list` 保存注释的长这样:
可以看到 stash@{0} 是刚才保存的 3. 这时候在看分支已经是干净无修改的(改动都有暂存到 stash)
4. 现在就可以正常切换到目标分支,进行相应操作
5. 其他分支处理完成,再切回来使用刚才的 stash, 还是先查看 暂缓列表
6. 选择使用暂缓 `git stash apply n` 注:n 是序号,如下图红色箭头指示
这时就看到刚才保存的工作进度,已经原样恢复~大功告成! |
2022-04-23
2023-04-23
2024-04-08
2024-11-15
2022-10-16