最近使用git stash 的時候 把命令記錯了
原本是:git stash save -u "描述"
寫成了:git stash save -a "描述"
-u: 會把沒有記錄到的文件也保存下來(比如你新建了一個文件,但是還沒有g(shù)it add,stash也會把這個文件保存下來)
-a: 會把忽略的文件也保存下來(.gitignore中的)
導致在git stash pop的時候 提示
其他文件提示
XXXX.class already exists, no checkout
最后一行
Could not restore untracked files from stash
解決辦法:
第一步
使用如下命令找到所有提交記錄
git log --graph --all --decorate --oneline
找到你git stash save 那次提交的<sha>
第二步
git checkout <sha>
第三步
git reset HEAD~1
第四步
git stash -u
好了!
參考地址:https://stackoverflow.com/questions/12221842/how-to-retrieve-untracked-files-with-git-stash