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

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

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


git stash save で一時退避した変更を、誤って git stash clear で消してしまったときの回復法 - t-wada の日記(旧)
一年くらい前から git を使い始め、ここ半年くらいは毎日の開発に git を使っています。昨日 git stash という機能を使っている時に失敗してしまい、何人かの方にアドバイスいただくことによって無事回復することが出来たので、感謝の印として、そして運悪く同じ問題に遭遇してしまった人たち(私もまたやるかも)へのメモ...

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

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


コメント

タイトルとURLをコピーしました