消してしまったgit stashを戻す秘術
誤って使わないっと思いstashを吹き飛ばしたところ、実は必要なstashだった時に活躍するコマンド
履歴から探す
以下のコマンドでstashのリストを取得します。
※ググると他にも取得の仕方があるようですが、個人的に一番わかり易いリストだと思います。
git fsck | awk '/dangling commit/ {print $3}' | xargs -J% git show --summary --oneline
どの程度stashを使っていたかによりここで地獄の度合いが変わるのですが、きちんと名前をつけていたりするとラッキーです。
復旧
stashを適応させる
git cherry-pick -n -m1 見つけたsha1
消してしまった場合を考え、重要そうなstashは名前書いておくと、こういった時に助かるっと痛感しました。
あとがき
いやほんと、ブランチ切り替えるから一旦作業stashしておいたのを消し飛ばしたときは死んだかと思いました(笑)