gitで.envが消えた

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を信用しない。