¿Qué cambios se git diff
muestran en el archivo? En Windows, he visto problemas con los finales de línea que causan problemas como este. En ese caso, mira qué configuraciones tienes para git config core.autocrlf
y git config core.safecrlf
. Hay alguna documentación para esta configuración aquí .
Yo diría que si está utilizando git svn
para la integración con Subversion, asegúrese de que autocrlf
esté apagado. Por lo que puedo decir, simplemente se rompe en esta configuración y hace que la mayoría de las herramientas piensen que los archivos han cambiado, cuando ha realizado una checkout
para revertir cualquier cambio.
Si está viendo un problema donde lo hace git checkout
, y luego git status
muestra que el archivo todavía está modificado, y git diff
muestra que el archivo está modificado en cada línea del archivo, entonces este es el problema que está viendo.
core.autocrlf
Si es verdadero, hace que git convierta CRLF al final de las líneas en archivos de texto a LF al leer desde el sistema de archivos, y convierta a la inversa al escribir en el sistema de archivos. La variable se puede configurar como entrada, en cuyo caso la conversión ocurre solo mientras se lee del sistema de archivos, pero los archivos se escriben con LF al final de las líneas. Actualmente, qué rutas considerar "texto" (es decir, someterse al mecanismo de autocrlf) se decide únicamente en función de los contenidos.
core.safecrlf
Si es verdadero, hace que git verifique si la conversión de CRLF controlada por core.autocrlf es reversible. Git verificará si un comando modifica un archivo en el árbol de trabajo, ya sea directa o indirectamente. Por ejemplo, confirmar un archivo seguido de verificar el mismo archivo debería producir el archivo original en el árbol de trabajo. Si este no es el caso para la configuración actual de core.autocrlf, git rechazará el archivo. La variable se puede establecer en "advertir", en cuyo caso git solo avisará sobre una conversión irreversible pero continuará la operación. ...
git checkout HEAD -- index.htm
Funciona (salir del último estado comprometido, en lugar de salir del índice)?