Ce genre de problème est souvent causé par essayer de tirer à partir d'un référentiel qui a deux noms qui diffèrent seulement dans des cas. Si vous êtes sur FAT, NTFS en cas insensibles à la mode (en gros, tout le temps, il est utilisé sous Windows), ou HFS+ en cas insensibles à la mode, et ont deux fichiers "foobar" et "FOOBAR", puis Git verrez deux fichiers différents, mais le système de fichiers ne verrez qu'une seule, ce qui va provoquer toutes sortes de problèmes. Git va checkout, disons, "FOOBAR", puis la commande "foobar", le système de fichiers voit que le simple fait de remplacer le contenu de "BLABLA" mais en le laissant en place. Maintenant, Git, il semble que le "FOOBAR" a été remplacé par le contenu de "foobar", et "foobar" a disparu.
Il y a deux différentes manifestations de ce problème de base. On est quand votre dépôt contient en fait deux fichiers qui ne diffèrent que sur des cas. Dans ce cas, vous avez besoin de travailler sur la casse du système de fichiers, ou vous aurez besoin de modifier le référentiel afin de s'assurer que pas de collisions de ce type se produisent; la casse du système de fichiers ne peut tout simplement pas stocker le contenu de ce référentiel.
Une autre affaire que vous pouvez contourner le problème est lors de l'une de renommer arrive que des modifications le cas du fichier. Dire, par exemple, que le dépôt Git contient un renommage de "EXEMPLE" pour "l'exemple". Avant Git vérifie la nouvelle version, il va essayer et assurez-vous qu'il n'est pas d'écraser certains fichiers que vous avez sur votre disque. Car il pense que "exemple" est un nouveau nom de fichier, il vous demandera le système de fichiers, si elle existe, et le système de fichiers va voir "EXEMPLE" et de dire oui, donc, Git va refuser de voir la nouvelle version car il pense qu'il sera d'écraser sans traces de fichiers. Dans ce cas, si vous n'avez pas de changements locaux que vous vous souciez, un simple git reset --hard <revision-to-checkout>
sera généralement suffisant pour vous le problème et à la nouvelle révision. Juste essayer de se rappeler de ne pas renommer les fichiers à d'autres noms qui diffèrent seulement dans le cas où si vous êtes sur un pas sensible à la casse du système de fichiers, comme cela va causer des problèmes de ce genre.