LoginSignup
42
32

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-06-25

git stash 消えた・・・ しかも、コミットしてない・・・

SourceTreeで変更の適用をしようとした瞬間、手元が狂って、「変更の削除」を選択。そのstashは返らないものに思われた・・・。

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

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

方法

Macであれば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.png

戻ったあぁあああああああ!

資料

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

42
32
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
32