git stashをコミットもなしに消してしまった時の対応

SourceTreeで誤ってgit stashを削除してしまって「また1から実装か・・・」と嘆いておりましたがぐぐったら以下の方法がヒット。
しかもコミットしてなくても使えます。git stash復元が可能です。

git stash save で一時退避した変更を、誤って git stash clear で消してしまったときの回復法

http://d.hatena.ne.jp/t-wada/20090407/p1

Terminalをひらきます。

git fsck | awk ‘/dangling commit/ {print $3}’

を打ちます。

[shtr_t@localhost myproject]$ git fsck | awk '/dangling commit/ {print $3}'
Checking object directories: 100% (256/256), done.
Checking objects: 100% (93244/93244), done.
70a401ef9784b3cbb6697b6d335888728384fa62
[shtr_t@localhost myproject]$ git cherry-pick -n -m1 70a401ef9784b3cbb6697b6d335888728384fa62

※消したスタッシュが多ければ多いほどたくさん出るので、cherry-pickしつつ変更内容を確認する作業が必要になります。

スクリーンショット 2016-06-16 10.37.18

もどったぁあぁぁぁぁぁ!!!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です