git diffすると環境によって行末に”^M”という変な記号が出るのに悩まされていた。
Windowsでmsysgitを使っている。
versionは1.6.4と1.7.6で確認している。
config color.ui autoなどで、diffに色をつけていると起こるようだ。color.ui falseでは表示されない。
どうやらWindowsの改行コードのCR部分をエラーと認識してしまうために起こる現象のようだ。
解決策
core.whitespaceに行末のキャリッジリターンを許容する「cr-at-eol」を設定することで解決できた。
git config --global core.whitespace cr-at-eol
参考:
Pro Git – Pro Git 7.1 Git のカスタマイズ Git の設定
osx – git-diff to ignore ^M – Stack Overflow