Windows で Git でチェックアウトしたテキストファイルの改行コードが LF になっている件
新しいPC環境を整えている。Windows ではテキストファイルを CRLF で使っているはずなのに、LF になっているせいで、CRLF に変換すると Git 上で全行修正されたように見えてしまうという問題が発生。
解決
%userprofile%.gitconfig
に以下を追加。
[core] autocrlf = true
これは何?
core.autocrlf は git での改行コード - Qiita によると、『コミット時に CRLF -> LF。チェックアウト時に LF -> CRLF』 とのこと。
前のPCではどうなってた?
%userprofile%.gitconfig には autocrlf が無かったけど、Tortoise Git > Settings > Git > Auto CrLf convert > AutoCrlf を見たらチェックが入っていた。
Further reading
Git - Git の設定 の core.autocrlf の項を参照。まとめるとこう。
- autocrlf = true で「コミット時に CRLF to LF」かつ「チェックアウト時に LF to CRLF」
- autocrlf = input で「コミット時に CRLF to LF」
- 上記以外の場合、何もしない
用途に応じてお好きなものを。