记录一坑,今天写项目,突然别的模块有个bug,但是当前模块还没有写完,git stash临时保存一下,statsh之后,切换了分支,改好了bug,喝个小水,然后git stash apply 一下,发现stash的东西没了…最后在百度了stash命令,发现自己打错了,-u打成了-a,忧桑…
一、问题简述
错误使用了git stash save -a ‘描述’,后续再使用git stash apply之后,发现stash的文件恢复不回来了。
- -u:会把没有暂存的文件也保存下来,啥意思?你新建了一个文件,还没有git add去暂存,stash也会将这个文件临时保存起来。
- -a:会把忽略的文件也保存下来,啥意思?.gitignore中的文件都存下来。
二、解决问题
- 使用下述命令找到所有提交记录
git log --graph --all --decorate --oneline
找到74a35b6 就是我的那次错误的提交~
- 切换到当前提交
git checkout 74a35b6
- 回退到上一个HEAD
git reset HEAD~1
上述三个步骤之后,就回到git stash之后的版本了,此时重新git stash 就可以了~