¿Por qué git no muestra los cambios correctos mientras que diff viewer es?

Al ver los cambios por etapas o sin escena a través de las extensiones de git o mediante el command git diff, puedo ver que git piensa que todo el file ha cambiado. Muestra un bloque de eliminación para todo el file seguido de un bloque de adición (o viceversa) lo que dificulta ver exactamente qué ha cambiado.

Cuando veo los cambios en un visor de diferencias como winmerge, puedo ver los cambios exactos. Sospechando que puede tener algo que ver con la configuration de final de línea en git, decidí cambiar la configuration de final de línea en winmerge marcando la opción 'Conservar caracteres EOL de origen' pensando que esto emularía el problema que estoy viendo en git. Sin embargo, esto no hace diferencia. De alguna manera hay cambios de final de línea que git puede ver que el visor de diferencias no puede.

Aparece un problema relacionado cuando realizo un restablecimiento de git –hard. Git Sill cree que algunos files han cambiado y los muestra de la misma manera que se describió anteriormente, pero el espectador de diferencias cree que nada ha cambiado. De manera molesta, al realizar un reinicio de git, hard no elimina los files.

¿Algunas ideas?

=== Nota extra ====

Resulta que históricamente no habíamos configurado los finales de línea en el repository, lo que significaba que la configuration core.autocrlf usaba el valor pnetworkingeterminado de 'falso' (ver https://help.github.com/articles/dealing-with-line -endings / para una explicación más detallada de este ajuste). Se ha agregado un nuevo file .gitattributes con esta configuration que tiene un valor de 'auto'. Como solución a corto ploop, comentamos la configuration del atributo de text, por lo que revertimos nuestra configuration original. Sin embargo, probablemente sea mejor si adoptamos la configuration recomendada de 'auto' que requiere una normalización de los finales de línea.

Esto es casi seguro causado por una línea que no coincide. Puede usar git diff -b para mostrar la diferencia sin tener en count los cambios en el espacio en blanco, lo que debería mostrarle los cambios sustanciales que le interesan.