Esse tipo de problema é freqüentemente causado ao tentar extrair de um repositório que possui dois nomes de arquivo que diferem apenas no caso. Se você estiver em FAT, NTFS no modo sem distinção entre maiúsculas e minúsculas (essencialmente, a qualquer momento em que estiver sendo usado no Windows) ou HFS + no modo sem distinção entre maiúsculas e minúsculas e tiver dois arquivos "foobar" e "FOOBAR", o Git verá dois arquivos distintos arquivos, mas o sistema de arquivos verá apenas um, o que causará todos os tipos de problemas. O Git fará checkout, digamos, "FOOBAR" e, em seguida, "foobar", que o sistema de arquivos vê como uma simples substituição do conteúdo de "FOOBAR", mas deixando-o no lugar. Agora, para o Git, parece que "FOOBAR" foi substituído pelo conteúdo de "foobar" e "foobar" desapareceu.
Existem duas manifestações diferentes desse problema básico. Um é quando o seu repositório contém dois arquivos que diferem apenas na caixa. Nesse caso, você precisa trabalhar em um sistema de arquivos com distinção entre maiúsculas e minúsculas ou editar o repositório para garantir que não ocorram colisões desse tipo; um sistema de arquivos que não faz distinção entre maiúsculas e minúsculas simplesmente não pode armazenar o conteúdo deste repositório.
Um caso diferente que você pode contornar é quando ocorre uma renomeação que altera o caso do arquivo. Digamos, por exemplo, que o repositório Git contém uma renomeação de "EXEMPLO" para "exemplo". Antes de Git verificar a nova versão, ele tentará e verificará se não está sobrescrevendo algum arquivo existente que você tem em seu disco. Uma vez que ele pensa que "exemplo" é um novo nome de arquivo, ele perguntará ao sistema de arquivos se ele existe, e o sistema de arquivos verá "EXEMPLO" e dirá sim, então o Git se recusará a verificar a nova versão, pois acha que será sobrescrito arquivos não rastreados. Nesse caso, se você não tiver mudanças locais de seu interesse, um simplesgit reset --hard <revision-to-checkout>geralmente será suficiente para você superar o problema e ir para a nova revisão. Apenas tente e lembre-se de não renomear arquivos com outros nomes que diferem apenas no caso de você estar em um sistema de arquivos que não diferencia maiúsculas de minúsculas, pois isso causará problemas como este.