在开发过程中,不可避免的会产生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,有时间的同学可以系统的学习下
时间: 2024-09-29 23:46:41