Works by

Ren's blog

@rennnosuke_rk 技術ブログです

【Git】ファイル名の大文字小文字の差分をトラッキング可能にする

Gitに関するメモ。

TL;DR

gitでファイル名の大文字・小文字の変更差分をトラッキングするには、下記オプションを有効にします。

$ git config core.ignorecase false

概要

gitの差分管理では、デフォルトでファイル名の大文字・小文字の変更差分を追跡してくれません。例えば、Javaのクラス名を下記のようにリファクタリングしたとき、ファイル名も変更されるがgitはその差分を検出しません。

public class GeoCodingAPIService {

...
}

public class GeocodingAPIService {

...
}
// ファイル名も変更
GeoCodingAPIService.java
↓
GeocodingAPIService.java

もしこのまま変更差分(ファイル内のクラス名変更差分は追跡してくれる)をコミットし、リモートリポジトリにpushしても、ファイル名の変更だけが反映されず他の人のリポジトリではコンパイルエラー...といったことが起きてしまいます。というか起きた。

以上です。