⏮
削除した git stash の復元手順
削除した git stash の復元手順
Github の stash をうっかり削除してしまった時の復元手順をまとめてみました。
削除された stash の候補となる SHA1 ハッシュの捜索
$ git fsck --no-reflog | awk '/dangling commit/ {print $3}'
見つかった SHA1 ハッシュの内容を確認
$ git log --oneline --graph --decorate $(git fsck --no-reflog | awk '/dangling commit/ {print $3}') | grep -i "stash"
削除された stash の候補を表示し、"stash" という単語を含むものをフィルタリングします。
メッセージ付きの stash は通常、このリストに表示されます。
目的の stash の内容を詳しく確認
$ git show [見つかったSHA1ハッシュ]
復元したい stash をコマンドで復元
$ git stash apply [見つかったSHA1ハッシュ]
この方法で、メッセージ付きで削除してしまった stash を効率的に探し出し、復元することができます。
- この方法は、git の内部データベースを直接探索するため、時間がかかる場合があります。
- 削除された stash は、ガベージコレクションが実行されるまでの間のみ復元可能です。
- 重要な変更は定期的にコミットすることをお勧めします。
- stash は一時的な保存手段として使用するのが最適です。
Discussion