应用场景
当正在编写当前任务,突然测试说已提交的版本有bug,需要及时修复bug。但当前的代码怎么办? 可以先储藏起来,修复完bug后再来回来开发
示例:
当前分支dev, 要切换到dev1开发,但要保留dev当前的东西还没开发完不能commit。
- 储藏当前dev的开发工作
$ git stash
Saved working directory and index state WIP on dev: f52c633 add merge
$ git stash list
stash@{0}: WIP on dev: f52c633 add merge
- 开发dev1上的bug
$ git checkout dev1
- 回来继续开发
$ git checkout dev
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
第一种
用 git stash apply 恢复,但是恢复后,stash内容并不删除,可以重复使用
你需要用git stash drop来删除;
第二种
用 git stash pop 恢复,恢复的同时把stash内容也删了;
操作时可以通过一下命令来验证上边两种方法,第二种返回就为空
$ git stash list