Bashスクリプトの文字コードがおかしくなる

開発はWindows上で行っているが、実行はDockerを使用している。
この環境でgit pullするとBashスクリプトの改行コードがCRLFにかわり、実行エラーになってしまう事象が発生。

改行コードをかえているもの

gitのcore.autocrlf=trueが変換している。

core.autocrlfの挙動

ローカルリポジトリからのcheckout時とcommit時に変換している

Value checkout(IN) commit(OUT)
true LFからCRLF CRLFからLF
input CRLFからLF
false

どうするか?

リポジトリはLF統一にしたいので、inputを選択。

設定

1
2
3
4
5
6
7
8
9
PS > git config -l
...略...
core.autocrlf=true
...略...
PS > git config --global core.autocrlf input
PS > git config -l
...略...
core.autocrlf=input
...略...