Git comportamiento extraño

git status # On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: readme.txt # modified: requirements.txt # no changes added to commit (use "git add" and/or "git commit -a") 

No hice ningún cambio en esos files. Pero recibo este post incluso si bash:

 git checkout -- readme.txt git checkout -- requirements.txt 

Cuando corro:

 git diff 

muestra el file completo como actualizado. Pero los contenidos son iguales.

Intenté eliminarlos y pagar de nuevo, pero no funcionó.

Si puede evitar cualquier conversión eol, intente:

 git config --global core.autocrlf false 

(mi configuration preferida )

, y vuelva a clonar su repository para ver si el problema persiste (estado de limpieza en lugar de "todos los files modificados").
Si sus editores admiten otro estilo eol y no realizan ninguna conversión, no se molestará de nuevo.

En una conjetura: finales de línea. Es probable que los files tengan diferentes finales de línea para su sistema operativo, lo cual es fácil de convertir (!). Puede jugar con la opción core.autocrlf para intentar corregir este comportamiento: github tiene algunos consejos útiles aquí .

Si se trata de un problema de final de línea y solo se trata de esos files, puede valer la pena normalizarlos para que sean coherentes y lo mismo que el rest del repository. Esto puede ser solo un caso de comprometer los cambios que está mostrando ahora.

Este tipo de cosas sucede con los cambios de final de línea (que no son fácilmente visibles en un terminal, míralo en un editor binary) o el extraño progtwig mal escrito que deja nulos al final de todo.