Problema de final de línea entre Mac y Windows

Tengo una MacBook y estoy ejecutando Windows en una máquina virtual de Parallels. Mi desarrollo se basa principalmente en Visual Studio, pero me gusta utilizar Git con el shell de Mac (igual que mejor que lo que está disponible para Windows).

Cuando hago un git diff para determinar qué ha cambiado entre confirmaciones, obtengo la línea proverbial que termina con los "cambios" que hacen que git piense que mucho más ha cambiado de lo que realmente lo ha hecho.

Sé que este es un problema antiguo, y he investigado mucho con diversas sugerencias de mucha gente, pero no puedo resolver este problema. La información más prometedora se encontró en este SO Post pero no resolvió mi problema.

Aquí hay algunas líneas relevantes de mi .gitconfig …

[core] autocrlf = false safecrlf = false 

Además, tengo un .gitattributes en la raíz de mi repository que solo contiene …

 * text eol=crlf 

¿Qué puedo hacer para que Git deje de pensar que los cambios de final de línea son cambios reales cuando se realiza un diff? De nuevo, estoy usando un shell de Mac para mirar los files de Windows, así que esto podría ser parte de mi problema.

¡Gracias!

Yo alias gdiff a:

 git diff -w origin/`git branch | sed --quiet "s/* \(.*\)/\1/p"` 

pero puedes hacer lo siguiente:

 git diff -w 

Utilice una utilidad de conversión, por ejemplo, Perl, perl -i -pne "s/\n/\r\n/g" nombre de file

o unix2dos y dos2unix .

Ver también http://en.wikipedia.org/wiki/Newline#Conversion_utilities

Para la configuration de GIT vea otra respuesta: Force LF eol en git repo y copy de trabajo