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 – Sta