2012-11-20 7 views
8

Ich habe versucht, eine Suche nach meinem Problem und die nächste Sache, die ich könnte dies ist.Git-Status zeigt Datei zweimal aber anderen Fall

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

Aber es scheint nicht die gleiche Frage, die ich habe.

Ich machte einen Commit und bemerkte, dass die gleiche Datei zweimal aufgeführt wurde, aber mit anderem Fall. Zum Beispiel Directory/resource.h und Directory/Resource.h. Jetzt gibt es nur eine Datei im Verzeichnis resource.h. Wenn ich mir die Datei über Git Extensions ansehe, sehen sie genau gleich aus. Es scheint keine weitere versteckte Datei zu geben, es gibt nur eine Datei.

Also habe ich versucht, dies zu beheben, indem Sie die Datei resource.h entfernen, commit, und dann die Datei zurück und erneut erneut eingeben. Nur eine Datei wurde als hinzugefügt angezeigt. Ich dachte, ich habe das Problem behoben, aber jetzt, wenn ich versuche, einen anderen Zweig auszuprobieren, erhalte ich den folgenden Fehler.

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 

Ich habe nicht wirklich eine Ahnung, was hier zu tun ist, habe ich nur für ein paar Monate Git benutze und ich habe nicht zu tun, etwas komplizierter als Zweig verschmelzen und Schieben und Ziehen hatte .

+0

Verwandte: [Git Änderung bei einer Datei unter Windows] (http://stackoverflow.com/questions/1793735/git-change-case-of-a-file-on-windows) [How um Git Änderungen in Fall zu ignorieren?] (http://stackoverflow.com/questions/52950/how-to-make-git-ignore-changes-in-case) – hammar

Antwort

15

Dies kann in Windows passieren, wenn Sie ein Repo mit ignorecase = false haben und eine Datei umbenennen, ohne git zu verwenden. Um zu beheben, sollte dies

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

funktionieren und dies sollte verhindern, dass es wieder passiert.

git config core.ignorecase true