gitでファイル名を小文字から大文字に変えてもコミットできない

gitでファイル名を小文字から大文字に変えてもgit addできず、コミットできない時の対応

地味にハマることの多い現象です。

小文字から大文字

とあるプロジェクトでファイル名の命名規則がアッパーキャメルに変わりました。

小文字から大文字に修正してgitにcommitしてpushしようとしたのですが。

sampleClass.js -> SampleClass.js

しかし、差分が表示されずcommitできない・・・

コミットできない原因

gitではデフォルトで大文字・小文字を区別しないようです。

プロジェクトフォルダ内の.gitフォルダにあるconfigファイルに下記の記載があります。

ignorecase = true

これは、ファイル名の大文字・小文字の変更は検知しない設定です。

解決法

ignorecase = false

にすると、大文字・小文字を区別してcommitできるようになりました。

まとめ

Windowsで開発しているとincludeやrequireでファイルも読み込んでも、ファイル名の大文字・小文字は関係ありません。

ちゃんと読み込んでくれます。

しかし、Linux系のサーバーでは大文字・小文字は区別されるのでファイルが存在しないって怒られます。

Windowsでローカル開発後にLinuxサーバで結合テストしようとした際にエラーになることがたまにあります。

わかっていれば慌てることはないのですが、知らないと「ローカルでは動いたのになんで??」って焦ります。

まぁ、プロジェクトの途中で命名規則を変えるなよって話ですが。

最新記事