記錄一坑,今天寫項目,突然別的模塊有個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 就可以了~