.gitattributes ファイルで改行コードを制御できる
.gitattributes ファイルを置いておくと、各自が ~/.gitconfig で core.autocrlf を設定していなくても、リポジトリ内の改行コードの扱いを統一できる。
$ man gitattributes で確認できる公式サンプルの読み方。
* text=auto # 全てのファイルのうち、テキストと判断したファイルは LF に変換する
*.txt text # .txt ファイルは改行コード変換を行う (上のアスタリスク * 指定に倣うので LF に変換する)
*.vcproj text eol=crlf # .vcproj ファイルは強制的に CRLF に変換する
*.sh text eol-lf # .sh ファイルは強制的に LF に変換する
*.jpg -text # .jpg ファイルはテキストとして解釈しない
*.jpg -text は安心のため入れてある感じ。なくても大概の場合は問題ないが、バイトコード中に CR に合致するコードが見つかった時にうっかり LF にされないようにしている。
とりあえず LF に揃えたいならこんな感じでいいんじゃないかな。特に text eol=lf という明示は要らないかと。
.gitattributes
* text=auto
*.jpg -text
*.gif -text
*.png -text
この .gitattributes や core.autocrlf の変換タイミングは、git commit 時 (正確には git add 時か) と git checkout 時に行われる。