質問: お世話になっております。 Gitのリポジトリでは改行コードcrlfが推奨されておらず、lfのみであるべきだという記述をよく見かけます。 ただ、その根拠が「開発環境が入り乱れた場合に面倒だから統一しておくべきだ」ということ以外にいまいち明確に理解できません。 知りたいのは、標題のとおり、開発環境がWindowsで統一されているようなケースで、「リポジトリの改行コードにcrlfが入っても良い。gitへのcommit時に改行コードの変換はしない」という判断ができるのかどうかということです。 例えばこちらなど、「まず、前提としてレポジトリに 入れるのは LF のみが良いようです。」とありますがその根拠は特に紹介されていません。こちらもそうですね。 WindowsとLinux、Macなど開発環境が入り乱れているようなチームではlfに統一しておくほうが望ましいことは理解できますが、場合によってlfに統一せずcrlfもリポジトリに入るという判断を行えるものなのでしょうか? 例えば、crlfが入ることによってgitの動作に影響が出たりすることはありますか?
回答: Git for Windowsには、改行コードを自動変換する設定があります(Qiita)。 意図してCRLFを保存しようとしても、この設定のおかげでLFに変換されてうまくいかなくなることがあります。CRLFに統一したい場合は、確実にこの設定をオフにしましょう。 (それとは無関係ですが、**バイナリファイル**内にも間違えてこの改行コード置換が効いてしまってファイルを破壊された、ということがありますので、完全オフにするのも充分選択肢としてありです。)