MACとWindows、両方を使って開発しているといろいろ苦しめられるところがあって 特に改行コードが辛い。
顕著なのはシェルスクリプトやCGIプログラムで、 Windowsで作ったりgit pullしてきたシェルスクリプトはCRLFになるので、 そのまま仮想サーバからマウントして利用したりすると改行コードの問題で正常に動かない。 具体的には1行目のシェバンが改行コードのせいでシェバンと認識してくれないせいで正常に動かなくなります。 (FTP等を利用した場合はFTPクライアントがLFに自動的に変換してくれる)
そこで、Windowsの場合はCRLFからLFに変換する必要があるのだけど変換するとgitでこんなエラーが出るようになります。
warning: LF will be replaced by CRLF in ファイル名
どうやらWindowsの場合はgitがCRLFに自動的に改行コードを変換してくるらしい。 以下を実行する事でこの自動変換をOFFにする事が出来る。
git config --global core.autoCRLF false
実際の設定はホームディレクトリ(C:\Users\ユーザー名)のディレクトリに「.gitconfig」というファイルが作られます。
[user] name = hoge email = hogehoge@seeds-std.co.jp [core] autoCRLF = false
この設定を行えばLFに変換してもgitがCRLFに変換してくる事がなくなります。