Git命令之stash

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git命令之stash相关的知识,希望对你有一定的参考价值。

在开发过程中,不可避免的会产生bug,有时候我们在处理迭代开发的过程中(此处假使迭代开发在master分支进行),需要紧急修复生产环境的bug,此时,

我们可能希望新建一个bug分支专门用于修复bug,但是,当前正在master分支修改的工作还没有提交,因只修改了一半,也不能提交

技术分享

此时,我们就可以使用git提供的stash功能,把当前工作现场“储藏”起来,等以后恢复现场后继续工作

$ git stash

技术分享

此时,再用git status查看工作区,会发现工作区是干净的,之前的修改已经不见了(被隐藏了),因此可以放心的创建bug分支

技术分享

修复完成后,再切换到master分支,并完成合并。

此时,我们想着继续我们的迭代开发,但工作区是干净的,之前我们的修改怎么恢复呢?

可以用git stash list 命令查看

$ git stash list

技术分享

我们会发现,我们修改的内容还是存在的,只是被git隐藏到某个地方了,那么怎么真正恢复呢?

有两种方式,一种是用git stash apply恢复,但是恢复后,stash内容并不删除,需要用 git stash drop 来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了,个人建议这种方式:

$ git stash pop

技术分享

此时,再用git stash list 查看,就看不到任何stash内容了

$ git stash list

当有多次stash 时,恢复时,先用git stash list查看,然后恢复指定的stash,用如下命令:

$ git stash apply [email protected]{0}

 最后,给大家推荐下廖雪峰的Git教程,地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000,有时间的同学可以系统的学习下

以上是关于Git命令之stash的主要内容,如果未能解决你的问题,请参考以下文章

痞子衡嵌入式:第一本Git命令教程(7.1)- 清理之缓存(stash)

git之stash

Git命令之stash

git stash命令使用

Git之解决git stash pop多次产生的文件冲突问题

Git之解决git stash pop多次产生的文件冲突问题