场景描述:
新功能代码正在开发,还未完全完成;突然现场有一个紧急bug需要修复,这个时候如何保存已有的开发代码呢?
git stash就可以
- 在终端输入git stash save “msg” 会将当前工作区暂存起来
- 通过git stash list 可以查看已经暂存的列表
- 这个时候,你执行git status查看状态就会发现,git认为没有任何变动
然后开始解决bug
完成后通过git commit 添加到暂存区,然后git commit 提交就ok了
解决完bug后,开始恢复暂存的工作区代码
- 执行git stash apply
stach apply 把之前我们暂存的代码,放到我们当前的工作区,但是不会删除为我们暂存的信息,这个时候执行 git stash list 还能看到我们暂存的列表
默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
当然你也可以执行 git stash pop 来恢复暂存的工作区代码,不过pop会把暂存的list删除掉,这点跟apply不太一样
其他相关命令:
git stash drop stash@{$num}
:丢弃stash@{$num}存储,从列表中删除这个存储git stash clear
:删除所有缓存的stash