git commit get fatal error "fatal: CRLF would be replaced by LF in"

aserww106 picture aserww106 · Nov 23, 2013 · Viewed 82.5k times · Source

I'm using Ubuntu 13.10 x64, and I am working on a project that some developers are using Windows , I recently changed the git config core.eol to "lf" and core.autocrlf to "input" and core.safecrlf to "true". Since then, when I try to commit file into my local repository, I get this error:
fatal: CRLF would be replaced by LF in ......
From what I understand, if I set core.eol to "lf" and core.autocrlf to "input", git will automatically convert CRLF to LF, but why this error come out? How can I fix this problem?

Thank you.

Answer

VonC picture VonC · Nov 23, 2013

This is a classic issue:

http://toub.es/sites/toub.es/files/styles/standard_article/public/field/image/firstcommit.png
(picture from Luis Tubes's blog post)

The usual fix is to convert those files yourself, with dos2unix or Swiss File Knife.

I have always preferred to keep core.autocrlf to false, which means:

git config --global core.autocrlf false