Gitに関するメモ。
TL;DR
gitでファイル名の大文字・小文字の変更差分をトラッキングするには、下記オプションを有効にします。
$ git config core.ignorecase false
概要
gitの差分管理では、デフォルトでファイル名の大文字・小文字の変更差分を追跡してくれません。例えば、Javaのクラス名を下記のようにリファクタリングしたとき、ファイル名も変更されるがgitはその差分を検出しません。
public class GeoCodingAPIService { ... }
↓
public class GeocodingAPIService { ... }
// ファイル名も変更 GeoCodingAPIService.java ↓ GeocodingAPIService.java
もしこのまま変更差分(ファイル内のクラス名変更差分は追跡してくれる)をコミットし、リモートリポジトリにpushしても、ファイル名の変更だけが反映されず他の人のリポジトリではコンパイルエラー...といったことが起きてしまいます。というか起きた。
以上です。