🪬

stashを消してしまった時の戻し方

に公開

stash は pop コマンドや drop コマンドで削除できます。

今回は間違えて stash を削除した場合に復元する方法を紹介します。

問題

stash を drop コマンドで以下のように削除してしまいました。

git stash drop stash@{2}

解決方法

git reset --hard」や「git rebase」などを間違えて実行してしまった時は、「git reflog」によって取り消せますよね。

しかし、スタッシュを消してしまった時は reflog で取り消すことができません。以下のコマンドを実行することで戻すことができます。

stash を drop した時には、以下のようにカッコの中に文字列が表示されていると思います。

$ git stash drop stash@{2}
 Dropped stash@{2} (xxxxxxxxxxxxxxxx)

その文字列をコピーして、以下のコマンドを実行することで戻すことができます。

git cherry-pick -n -m1 (xxxxxxxxxxxxxxxx)

Discussion