Git 使用技巧:stash 保存现场、恢复现场
git stash 的主要用途,就是保存现场和恢复现场。
- 功能:将git 工作区中的数据暂存起来,保存现场,以及后续的恢复现场,类似于函数调用的保存现场、恢复现场
- 使用场景:正在开发一个代码,编写到一半,需要将代码恢复到某个版本修复某个bug上,但已经编写的工作又想保留
基本用法
1 | git stash # 保存当前现场。 |
需要注意的是,stash 保存的数据本质上是一个栈结构,最新压入的数据会放在栈顶,因此执行 git stash pop 时默认弹出的也是最新一次保存的内容。
如果执行过多次 stash,想恢复其中某一次保存的内容,可以先查看 stash 记录:
1 | git stash list |
可以看到,git stash list的结果基本如下:
1 | stash@{0}: WIP on dev: f52c633 add merge |
然后挑选哪次弹出即可:
1 | git stash apply stash@{1} |
注意git stash apply命令不会将数据弹出、数据仍保存在stash缓存中;git stash pop则会将数据彻底弹出。
如果运用git stash apply之后,想彻底删掉某条记录,可以用:
1 | git stash drop stash@{1} |