ファイルを消してしまったときの絶望感
READMEファイルをせっせと書きつつ開発していたときのこと、READMEファイルは git add
せずに他のファイルのコミットを積み上げていました。
あるファイルの変更がいらないなっと思ったので git reset --hard
で最新のコミットに戻しました。
するとどうでしょう。READMEファイルもどこかへ消えてしまいました。
Gitはファイルを復元できる
こういった間違えのときのためにGitは存在をしていますが、Gitが復元できるのはGit管理下にあるもののみです。
add
や commit
を一度でもしておけば完全でなくても元に戻すことは可能です。
しかし、それらを一度もしていないファイルはGitでもどうしようもない(はず)のです。
PhpStorm is GOD
そのときに使用していたエディタはPhpStormで、このPhpStormにはLocal HistoryというGitとは別に管理してくれているものがあります。
VCS > Local History > Show History
から選択したファイルの履歴を見ることができます。
READMEファイルと同名のファイルを作成し、Show Historyから消す前の履歴を選択することで復元することができました。