当你在开发项目的时候,突然有个线上bug要紧急处理,但你当前的分支项目还没开发完,代码写了一半,没办法提交(严格要求自己的话,每次提交是一个完整的有意义的功能或者代码段),这个时候怎么办呢?
git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
注意:未添加到版本库的文件(untracked)是不能stash的,所以新增的文件 要 add之后
再git stash
> git stash list
查看stash了哪些存储
> git stash show [-p] :
显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
> git stash apply
应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
> git stash pop
命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
> git stash drop stash@{$num}
丢弃stash@{$num}存储,从列表中删除这个存储
> git stash clear
删除所有缓存的stash