一般在开发新功能或修复bug时,我们会新建 临时分支X 进行一系列操作,等待一切完成就绪后,将新功能或修复bug合并到主分支,然后将临时分支X删除。
可是在实际开发中,经常某些事情打断计划,比如 开发新功能进行到一半,还没法提交,预计完成时间还需要半天的时间,但是你必须在一个小时内修复某个bug,怎么办?
幸运的是,git 提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场再继续工作
- 保存现场
$ git stash
- 查看现场在哪里?
$ git stash list
stash@{0}: WIP on dev: 4f4f23a dev commit
- 恢复现场
$ git stash apply stash@{0} # 恢复现场,但stash内容没有删除
$ git stash drop stash@{0} # 删除stash内容
或者
$ git stash pop stash@{0} # 恢复现场 + stash内容删除
参考网址: