Cloud9でLaravelを使って、gitでバージョン管理をしている。
気付いたら、.envが消えていた。
最悪。
ただ、サイトは普通に動く。
キャッシュに残ってる情報を使っているからだ。
$ php artisan cache:clear でも、
$ php artisan config:clear でも動作し続けたが、
$ php artisan config:cache で案の定、サイトを表示できなくなった。
何日か前に、gitの管理対象から.envを外した。
https://qiita.com/ytkt/items/a2afd6be8e4f06c1ea25
$ git rm --cached [削除したいファイル]
これによって、githubから.envが消えた。
そして、それをローカルのmasterにpullした。
そして、それを元にブランチを作った。
という流れの中で消えたらしい。
ローカルのmasterにpullした時点でローカルからも消えていたのだろうか。
だとすると、今後も消えるのだろうか。
コミットを戻したりして、.envの復元を試みたが無理だった。
https://qiita.com/Yorinton/items/e0e969d961b17a359e19
しかし、変更箇所は多少記憶に残っていたので、
記憶を頼りになんとか戻せた。
危ない危ない。
しかも、別ブランチを作って、作った先のブランチで、
$ git reset --hard ハッシュ値
とかしたら、元のブランチもaddしていない更新情報が消えた。
そういう仕様なのか?
git をあまり信用しないようにしよう。
これまで、マージしたブランチは削除していたんだが、
今後はローカルのブランチは1ヵ月くらい残しておこう。
あと、.envを変更した場合は、コピーを取って、
ローカルに残しておこう。
あと、こまめにコミットして、githubにも残しておこう。
そのうち、cloud9が開けなくなるとかいう事態も起こりそうだからな。
再発防止まとめ
1. ローカルのブランチはしばらく残す。
2. .envを変更したらローカルにもコピー保存。
3. こまめにコミット。両方に残す。
4. cloud9を信用しない。githubを信用しない。