2012-11-20 12 views
8

ho provato a fare una ricerca per il mio problema e la cosa più vicina che ho potuto è questo.stato Git mostra file due volte, ma caso diverso

git Status Shows Same File Twice - But with different path slash styles

Ma non sembra essere lo stesso problema che ho.

stavo facendo un commit e ho notato che lo stesso file è stato elencato due volte, ma con il caso diverso. Per esempio, Directory/resource.h e Directory/Resource.h. Ora c'è solo un file nella directory resource.h. Se guardo il file attraverso Git Extensions, hanno esattamente lo stesso aspetto. Non sembra esserci un altro file nascosto, c'è solo un file.

Così ho provato a risolvere questo problema rimuovendo il file resource.h, confermando, quindi aggiungendo il file e ricominciando di nuovo. Solo un file è apparso come aggiunto. Pensavo di aver risolto il problema, ma ora se provo a effettuare il checkout su un altro ramo ottengo il seguente errore.

error: The following untracked working tree files would be overwritten by checkout: 
    Directory/Resource.h 
Please move or remove them before you can switch branches. 
Aborting 
Done 

Io in realtà non ho alcuna idea di cosa fare da qui, ho solo usato Git per un paio di mesi e non ho dovuto fare qualcosa di più complicato di fusione rami e spingendo e tirando .

+0

correlati: [Git cambiamento caso di un file in Windows] (http://stackoverflow.com/questions/1793735/git-change-case-of-a-file-on-windows), [Come Git per fare ignorare le modifiche nel caso in cui?] (http://stackoverflow.com/questions/52950/how-to-make-git-ignore-changes-in-case) – hammar

risposta

15

Questo può accadere in Windows, se si dispone di un pronti contro termine con ignorecase = false e rinomina un file senza usare git. Per risolvere, questo dovrebbe funzionare

git mv -f Resource.h resource.h 
git commit -m 'fix case' 

e questo dovrebbe impedire che accada di nuovo.

git config core.ignorecase true 
Problemi correlati