.gitignoreが認識されない!
Laravelで作ったアプリをデプロイ作業中、.gitignoreが認識されない事態が起きた。
半日以上もがいたので、それをここに記しておく。
原因と対処
原因は、.gitignoreがUTF-16で作られていたからの様子。
UTF-8に直したら、.gitignoreが反映された。
なぜ、このような事態に陥ったか。
.gitignoreファイルをプロジェクト毎に適切に作成してくれる、スクリプト__gibo__というものを知って、実行してみた。以下の記事を参考にした。
giboが使えるようになって、以下のコマンドを実行。
$ gibo dump Composer Laravel >> .gitignore
このとき、VS code上で起動したpower shellで実行した。
.gitignoreをみると、なぜか文字化けしていた。
文字コードをきちんと理解していなかった僕は、.gitignoreを削除して、もういちど、上記コマンドを実行した。
すると、今度は文字化けなく作成された。
その後、git管理を進めようとしたのだが、.gitignoreで管理されないはずのファイルが管理が続けられている。
.gitignoreが認識されていない。
Gitコマンドをpower shellで使えるようにしているのが良くなかったのかと思ったが、そうでもなかった。
(※Gitコマンドをpower shellで使えるようにするために、git bashのbinを通して使っている。)
.gitignoreの文字コードがUTF-16となった理由
power shellでgiboを使って.gitignoreを作るとUTF-16で作られる。
なお、もとから.gitignoreがある場合はUTF-8のままだが、文字化けして表示されていた。
対応策
- UTF-16で作られた.gitignoreの文字コードをUTF-8に戻す。
- power shellでgiboを使わない。giboを使うときはgit bashなどを使う。
今回の教訓
文字コードを適切に設定することは重要である