Este tipo de problema se produce con frecuencia al intentar extraer de un repositorio que tiene dos nombres de archivo que solo difieren en el caso. Si está en FAT, NTFS en modo que no distingue entre mayúsculas y minúsculas (esencialmente, cada vez que se usa en Windows) o HFS + en modo que no distingue entre mayúsculas y minúsculas, y tiene dos archivos "foobar" y "FOOBAR", Git verá dos archivos distintos archivos, pero el sistema de archivos solo verá uno, lo que causará todo tipo de problemas. Git comprobará, digamos, "FOOBAR", y luego comprobará "foobar", que el sistema de archivos ve como simplemente reemplazar el contenido de "FOOBAR" pero dejándolo en su lugar. Ahora para Git, parece que "FOOBAR" ha sido reemplazado con el contenido de "foobar", y "foobar" ha desaparecido.
Hay dos manifestaciones diferentes de este problema básico. Uno es cuando su repositorio realmente contiene dos archivos que difieren solo en el caso. En este caso, debe trabajar en un sistema de archivos que distinga entre mayúsculas y minúsculas, o deberá editar el repositorio para asegurarse de que no se produzcan colisiones de este tipo; un sistema de archivos que no distingue entre mayúsculas y minúsculas simplemente no puede almacenar el contenido de este repositorio.
Un caso diferente que puede solucionar es cuando ocurre un cambio de nombre que cambia el caso del archivo. Digamos, por ejemplo, que el repositorio de Git contiene un cambio de nombre de "EXAMPLE" a "example". Antes de que Git verifique la nueva versión, intentará verificar que no esté sobrescribiendo algún archivo existente que tenga en su disco. Como piensa que "ejemplo" es un nuevo nombre de archivo, le preguntará al sistema de archivos si existe, y el sistema de archivos verá "EJEMPLO" y dirá que sí, por lo que Git se negará a verificar la nueva versión ya que cree que se sobrescribirá. archivos sin seguimiento. En este caso, si no tiene cambios locales que le interesen, un simplegit reset --hard <revision-to-checkout>generalmente será suficiente para superar el problema y realizar la nueva revisión. Solo intente y recuerde no cambiar el nombre de los archivos a otros nombres que difieran solo en el caso de que esté en un sistema de archivos que no distingue entre mayúsculas y minúsculas, ya que causará problemas como este.