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.
text eol=crlf Git will always convert line endings to CRLF on checkout. You should use this for files that must keep CRLF endings, even on OSX or Linux. text eol=lf Git will always convert line endings to LF on checkout. You should use this for files that must keep LF endings, even on Windows.
In Unix systems the end of a line is represented with a line feed (LF). In windows a line is represented with a carriage return (CR) and a line feed (LF) thus (CRLF). when you get code from git that was uploaded from a unix system they will only have an LF.
This is a classic issue:
(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
I had the same problem and tried the suggested solution with no success.
I had to execute a second command to make it work:
$ git config --global core.autocrlf false $ git config --global core.safecrlf false
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With