git stash
当我们在一个commit
上修改一些文件后,这时你要暂时退回原来的commit
位置进行一些操作,比如pull
或者marge
,这时候不能直接使用git reset --hard
来操作,如果这样做我们的所有修改就都不存在了并且不能再找回。这时我们就要使用这样一条命令将修改全部暂存起来。
git stash
然后我们需要把stash
弹出来就可以恢复修改
git stash pop
当然如果这样用功能也不是很强大,重点来了,这条命令可以进行多个修改的存储。
可以暂存多个修改,根据需要弹出不同的stash
功能列表
-
git stash save “message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
-
git stash list :查看stash的存储列表
-
git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
-
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 drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储
-
git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash pop 等于 git stash apply; git stash drop
- git stash clear :删除所有缓存的stash