git me dice que mis files han cambiado, pero no veo ninguna diferencia

Acabo de instalar el último Git (1.9.5), y de repente me dice que mi tree de trabajo no está limpio (los cambios no están en etapas), pero no puedo ver ningún cambio en ninguno de mis files en ninguna herramienta de diff (Intenté incorporar Tortoise y Visual Studio). Cuando ejecuto el estado de git, dice:

Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: inc/i_lab_orders.asp modified: lab_order_list.asp modified: slib/lab_order_lib.asp 

Sin embargo, la herramienta diff de Git GUI me dice que todas las líneas han cambiado, pero no puedo detectar ninguna diferencia. Lo mismo con la diferencia de git bash.

Ejecutando git reset --hard no ayuda en absoluto– el command se ejecuta sin problemas, pero al final todavía tengo los mismos files "cambiados".

ACTUALIZACIÓN: core.autocrlf es falso, core.fileMode también es falso. También noté que los files que se informaron para ser cambiados son exactamente los que se cometieron en la última confirmación.

Estoy en Windows.

Bienvenido al infierno. Disfruta tu estancia 🙂

La diferencia que no puedes ver es el final de la línea. En pocas palabras, le has dicho a Git que convierta todas las terminaciones de línea a Windows o Unix y hay un file en el repository que tiene diferentes finales de línea en el repository.

Cuando revisa el file, Git hace la conversión, creando un file local que se ve correcto. Cuando haces un diff , Git no convierte (porque el file en el disco debe ser correcto y por qué debería convertir lo que ya está en el repository) y ahora obtienes diferencias que no están ahí.

Solución: asegúrese de que Git esté configurado correctamente para cada desarrollador que pueda push , envíe el file una vez con las terminaciones correctas y obtenga un sombrero ridículo para que cualquiera lo use y cree files con terminaciones de línea incorrectas.

Relacionado:

El cambio también puede ser mod de file, pero puedes decirle a git que ignore algo como esto.

 git config core.fileMode false 

Te recomiendo que uses gitk

En ubuntu es solo

 sudo apt-get install gitk 

Se solucionó al eliminar manualmente la carpeta .git \ rebase-merge-failed. Gracias a todos por tratar de ayudarme.

ACTUALIZAR También sospecho que la causa fue que tenía text=auto en mi file .gitattributes.