Cygwin Git "sees the world" as if it runs on a POSIX platform—thanks to the emulation provided by Cygwin. Contrary to this, Git for Windows is a native Windows program which does not use any emulation and tries to be as close to Windows standards (however idiotic) as possible. What this leads to is that for Cygwin Git, LF
is the standard EOL character, while for Git for Windows, the native EOL sequence is CRLF
. So both tools see the world differently, and that explains what you observe. Please read this recent thread for more info (and especially this message).
In either case, consider setting core.autocrlf
to false
anyway to avoid headaches bound to this "magic". I'm using GfW solely, and in the end switched that setting to false
(it defaults to true
) for good.
You might also find the extremely well commented .gitattributes
file from the Mono project to be interesting to study.
git config --get core.autocrlf
print? – Microbalanceinput
in Cygwin, and see the result. – Microbalanceautocrlf
, and use.gitattributes
instead, see Dealing with line endings. – Microbalance