在项目开发时候,如果接到一个紧急修改命令,而又不想commit当前修改或者切换分支,git stash是一个很不错的方式。stash的原理是将修改放置在一个stash的缓存区,此时工作 区间是clear干净的,如果是多人协作,还需要pull一下保证最新代码。
当你在该工作分支上完成任务的时候,你可以按照正常流程走,add . 、commit 、push到远程分支。接下来你就可以执行git stash pop,将放置在stash区间的代码恢复过来,注意这部分代码是未提交状态。
stash更高级点的用法是获取指定的某次stash的代码,执行命令git stash list,出现如图所示
加入要回到该branch的第6次commit之后的修改,可以执行
git stash apply stash@{6}
如果发现某次修改不是所需要的可执行
git stash drop stash@{3}
当完成commit和push之后,可以将stash区间清空
git stash clear