3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

.gitignoreが認識されなかったのはUTF-16のせいみたい

Last updated at Posted at 2020-08-21

.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のままだが、文字化けして表示されていた。

対応策

  1. UTF-16で作られた.gitignoreの文字コードをUTF-8に戻す。
  2. power shellでgiboを使わない。giboを使うときはgit bashなどを使う。

今回の教訓

文字コードを適切に設定することは重要である

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?