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}

参考资料

 


 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)