間違えて削除してしまったstashを復元する

表題の件です。 git stash dropで必要なstashを削除してしまっときの対処法です。いつも忘れてしまうのでメモついでにブログに上げておきます。

問題

$ git stash drop

最新の必要なstashをあやまって削除してしまった。

対処法

1.git stash drop した時に

Dropped refs/stash@{0} (lkjsflkdfjsglkdfjgdlkfgjsdlkgjdskglsdjglerksjgse)

というのが表示されるので、その中の()内の文字列を手元に控える

2.以下のコマンドを実行

git cherry-pick -n -m1 lkjsflkdfjsglkdfjgdlkfgjsdlkgjdskglsdjglerksjgse

これで誤って削除してしまったstashが復元されると思います。

備考

記事の最後に紹介する参考サイトをもとに git fsck... をやったのですが、

cut: bad delimiter

と表示されてしまいうまくいきませんでした。

同じような状況が発生したら参考にしてみてください。

参考サイト

http://cmdnote.net/items/483

gitでありがちな問題の解決方法まとめ - Qiita

誤って削除した git stash を戻す | DriftwoodJP