削除された Git スタッシュを復元する方法

削除された Git スタッシュを復元する方法

岩佐 孝浩
岩佐 孝浩
2 min read
Git

はじめに

誤って Git スタッシュを削除してしまうと、大変困ることがあります。しかし、幸いにも復元することができます。この投稿では、削除されたスタッシュを特定し、復元する手順を具体的に解説します。

ステップ 1: コミット履歴を出力する

次のコマンドを使用して、コミット履歴を出力し、ダングリングコミットを特定します。

git fsck | awk '/dangling commit/ {print $3}' >> commit_list.txt

出力は以下のようになります。

dangling commit bfebf68feeebf07a86d7e3e4da77962de67c14ee
dangling commit 86f4aec78bd51c80b0fd2d5d83963a2259dc72b4
dangling commit 48fd9f8f97a577bc8a87b133f6e1dd789a692bd0
dangling commit 64ff8c33fb878afb8bf5c99c1b8d8fdfaa1b1f3c
dangling commit bdff88e13803e6c7737691aa1fb6f1e038321966

ステップ 2: コミット概要を出力する

コミットの詳細を確認するには、次のスクリプトを実行します。

#!/bin/bash

while read line
do
  git show $line
done < ./commit_list.txt

これにより、ダングリングコミットの概要が表示されます。

commit bfebf68feeebf07a86d7e3e4da77962de67c14ee
Merge: b046240 5ee731a
Author: Takahiro Iwasa <iwasa.takahiro@wasabee.io>
Date:   Fri Feb 12 22:01:47 2016 +0900

    On develop: 0212

ステップ 3: 復元するコミットを特定する

コミット概要を慎重に確認し、日付、時刻、コミットメッセージを参考に、復元したいコミットを特定してください。

ステップ 4: 選択したコミットを復元する

特定したコミットを次のコマンドで復元します。

git cherry-pick -n -m1 <YOUR_COMMIT_ID>

<YOUR_COMMIT_ID> を復元したいスタッシュのコミット ID に置き換えてください。

まとめ

これらの手順に従うことで、削除された Git スタッシュを効率的に復元できます。焦らずに、手順をひとつずつ確認しながら進めてください。

Happy Coding! 🚀

岩佐 孝浩

岩佐 孝浩

Software Developer at KAKEHASHI Inc.
AWS を活用したクラウドネイティブ・アプリケーションの要件定義・設計・開発に従事。 株式会社カケハシで、処方箋データ収集の新たな基盤の構築に携わっています。 Japan AWS Top Engineers 2020-2023