Gitでaddしたら、「warning: CRLF will be replaced by LF」ってのが出た

ある日、いろいろと削除したり変更したりとして、masterにマージしてpush
ステージング環境で、pullしたら、

# On branch master
# Changes not staged for commit:
#   (use "git add ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
#	modified:   home/adan/yonaha.js

変更もしていないのに、addかcheckoutしてくれと出ていた。差分がないので、コミットしようと思い、addしてみると、

[yonaha@adan stage]$ git add --all
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in home/adan/yonaha.js.

なんじゃこりゃ!? 怒られた、、、。

その後、checkoutしても、resetしても、pullしてもだめで、
調べてみると、Gitが改行コードCRLFを、LFに自動で置き換えてくれているらしく、
下記コマンドで、そのオート置換を止めるコードをストップできるらしい。

[yonaha@adan stage]$ git config --global core.autoCRLF false

トライしてみたが、変わらず、ホームディレクトリの「.gitconfig」には、

[core]
        autoCRLF = false

とあり、問題なさそうです。

その後、いろいろ試すが、
HEADの内容で、強制的に上書きすることで、解決できました。

[yonaha@adan stage]$ git fetch origin master
[yonaha@adan stage]$ git reset --hard origin/master

プロに聞いてみる
株式会社adanはエンジニアのキャリアに真剣に向き合っています。
企業の情報エンジニアとしてのキャリアアップの方法、現在の待遇(給料・報酬)未経験からのステップアップ方法などのご相談を受け付けています。
お気軽にお問合せください。