logo

Gitはファイル名、ディレクトリ名の大文字・小文字を区別していない

2023-11-19
a year ago

開発環境

  • git 2.39.3

前提

Githubを利用することを前提にしています。

本題

結論

Gitはファイル名やディレクトリ名の大文字↔︎小文字の変換に関しては検知していません。

その為、ローカルのVSCode上で変更し、リモートリポジトリに反映しても変更されることはないです。

例)

src/Buttonsrc/button に変更しても、src/Buttonのまま

ローカルでの動作は問題ないですが、本番環境へのデプロイなどではimportのエラーなどが発生してしまいます。

対応策

  1. ファイルを一度別名に変更してから、大文字に変更する
  2. git rm --cachedを使う


1について、以下のやり方になります。

例)

$ git mv src/Button src/butto
$ git mv src/butto src/button

2について、以下のやり方になります。

例)

$ git mv src/Button src/button
$ git rm -rf --cached Button/

さいごに

いずれにしても少しめんどくさい。