git autocrlf

git の autocrlf の設定を見直した。

なぜなら改行コードに CRLF が紛れてしまう事象が発生したから。

では、repositoryにCRLFが紛れてしまう恐れがある設定は何でしょうか。 それはcore.autocrlfがfalseの場合です。

ref. 気をつけて!Git for Windowsにおける改行コード - Qiita

true にすりゃいいじゃん!と思ったけど必ずしもそうではない。

$ git config --global core.autocrlf true

ビルド作業のことや、想定していない改行コードの不具合を出さないようにするには

git config --global core.autocrlf input

結論

結論としては、input が良さそう。

$ git config --global core.autocrlf input

.gitattributes で制御

.gitattributes で制御も可能。

* text=auto

ref. CRLF vs. LF: Normalizing Line Endings in Git

CRLF が紛れ込んでしまったとき

確認

こんな感じで eol を確認できる。

$ git ls-files --eol
i/lf    w/lf    attr/                 	.github/FUNDING.yml
i/lf    w/lf    attr/                 	.github/dependabot.yml
i/lf    w/lf    attr/                 	.github/workflows/ci.yml
...

修正

紛れ込んだ CRLF を修正する場合はこう。

$ git add --renormalize .
$ git commit