2022-04-25 git autocrlf
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