11月 082019
git stash命令:保存现场、恢复现场
- 功能:将git 工作区中的数据暂存起来,保存现场,以及后续的恢复现场,类似于函数调用的保存现场、恢复现场
- 使用场景:正在开发一个代码,编写到一半,需要将代码恢复到某个版本修复某个bug上,但已经编写的工作又想保留
用法
git stash # 保存当前现场。
git stash list # 查看当前stash缓存的内容
## 编辑其他内容,编辑完毕后,想回复现场:
git stash pop # 弹出stash缓存栈顶内容,即可恢复现场
注意stash保存数据时,实际是一个栈结构,基本每次最新stash进去的数据,都保存在栈顶,如果用git stash pop
命令,弹出的都是最新压入的数据。
如果多次stash,想取出某一次压入的数据,可以先用查看stash的记录id:
git stash list
可以看到,git stash list
的结果基本如下:
stash@{0}: WIP on dev: f52c633 add merge
stash@{1}: WIP on dev: d23b633 add feature
然后挑选哪次弹出即可:
git stash apply stash@{1}
注意git stash apply
命令不会将数据弹出、数据仍保存在stash缓存中;git stash pop
则会将数据彻底弹出。
如果运用git stash apply
之后,想彻底删掉某条记录,可以用:
git stash drop stash@{1}
参考资料