2020.12.24ブログなので皆さまのお役にたてば幸いですが、あくまで自分の忘備録なので、昔話も含めて書いております。Forkデータベースはローカル・リモート共に、別サーバのDB2へアクセスしています。Pushで本番機と同期する感じです。ドキュメントルートは/var/www/配下に置き、/opt配下にベアリポジトリとして、Hookのスクリプトを置いています。ローカルPCのSourceTreeからベアリポジトリにプッシュし、それと同時にHookが利き、ドキュメントルートにcdして、pullする仕組みです。本題は.gitignoreが利かないという話。ド素人なもので.gitignoreなんて何に使うのかよく解らなかったけど、少なくともローカル・リモートそれぞれのデータベースの接続情報は違うわけなので、そこはgitで関与してもらっては困るということで、使おうと思った。要するにLaravelだとconfig/database.phpにデータベース接続情報を設定するのだが、これをリモート側にプッシュすると、リモート側のアプリをブラウザで見に行ったときに怒られてしまう。データベース接続情報が異なるんだから。ま、そういう用途に使うんだろうな。書き方だけど、私の場合だとconfig/database.phpをgitの監視下から外したい。その場合はconfig/配下に.gitignoreというファイルを作成し、その中に1行だけdatabase.phpと書けばいいらしい。windowsだと、最初にドットが付いたファイル名は普通では作れないので、.gitignore.というふうに、両脇にドットを付けてあげるといいそうだ。この.gitignoreファイルはgitの監視下に置かれるので、これはコミットする。するとリモート側も.gitignoreファイルが作成されて、config/配下のdatabase.phpが監視外となる。いう予定だがうまくいかない。.gitignoreとdatabase.phpの綴りもあってるし、もしかして文字コードや改行コードがダメなのか?.gitignoreで改行しなければいけないのか?など色々試してもうまくいきません。database.phpとした。すると、なぜかSourceTreeのステージングエリアに赤の-でdatabase.phpが表示された。database.phpをしたことにより、database.php自体が消えたのでは?と思い、ローカルのソースを見てみると何ともない。解らないけど、このままコミットして、プッシュしてみた。リモート側のdatabase.phpも確認してみたが、消えてないようだ。それから、database.phpの中身を触ってみたが、見事にSourceTreeに反映しない。ファイル名をするとうまくいくようだ。.として、全部をクリアしたらうまくいかなかった。行った場所は、/var/www/〇〇〇配下で行った。たしかにドラララって感じで何かがクリアされたようだったし、SourceTreeにもたんまりファイルが出てきた。それらのファイル群はF5で更新しているとSourceTreeに認識しなくなった。