git addすらせずにファイルを消してしまったときにPhpStormで復元する方法


ファイルを消してしまったときの絶望感

READMEファイルをせっせと書きつつ開発していたときのこと、READMEファイルは git add せずに他のファイルのコミットを積み上げていました。

あるファイルの変更がいらないなっと思ったので git reset --hard で最新のコミットに戻しました。

するとどうでしょう。READMEファイルもどこかへ消えてしまいました。

Gitはファイルを復元できる

こういった間違えのときのためにGitは存在をしていますが、Gitが復元できるのはGit管理下にあるもののみです。

addcommit を一度でもしておけば完全でなくても元に戻すことは可能です。

しかし、それらを一度もしていないファイルはGitでもどうしようもない(はず)のです。

PhpStorm is GOD

そのときに使用していたエディタはPhpStormで、このPhpStormにはLocal HistoryというGitとは別に管理してくれているものがあります。

VCS > Local History > Show History から選択したファイルの履歴を見ることができます。

READMEファイルと同名のファイルを作成し、Show Historyから消す前の履歴を選択することで復元することができました。