Skip to content

ファイル・フォルダ名の小文字・大文字を変更する

概要

Git ではデフォルトの設定ではファイル・フォルダ名の変更において、大文字 ⇔ 小文字 の変更を検知しない。
(名称としては区別されるため大文字・小文字のファイル・フォルダは同時に存在することは可能)

そのため 大文字 ⇔ 小文字 の変更をしても、その変更をコミットすることができない。

対処法

方法 1: キャッシュ削除

名前の変更後に古いファイル名のキャッシュを git rm --cached <<old-file-name>> コマンドで削除すると、ファイル名変更が検知されるようになる。

方法 2: 設定変更

ファイルの大文字/小文字の変更を無視する設定は Git コンフィグの core.ignorecase に記載されている。これを false に変更する。

git config --local core.ignorecase false

Warning

ただし設定後も既存ファイルの名称を変更した場合は、方法 1 のキャッシュ削除コマンドを実行する必要がある
変更後のファイルをファイルの追加として検知するため、キャッシュ削除を行わないと新旧ファイルが同時に存在するようになってしまう。

参考