Ich arbeite mit Git auf Windows, und ich habe eine Datei in meinem Repo, sagen wir "foo.txt". Heute wollte ich diese Datei in "Foo.txt" (Großbuchstaben) umbenennen. Wie in this SO question vorgeschlagen, verwendete ich git mv -f foo.txt Foo.txt
, was das gewünschte Ergebnis ergab. Ich ging zu commit die Änderung zu meinem Repo.
EDIT: Ich möchte, dass dies eine dauerhafte Änderung sein, und immer noch in der Lage sein, zu begehen, dass diese Änderung vorausgehen.Git auf Windows: Kann den Zweig nach dem Umbenennen einer Datei nicht wechseln (nur geändert Fall)
jedoch danach traf ich einen Fehler beim Versuch Zweig wechseln:
[core]
ignorecase=false
diese Änderung zu:
# I'm on branch1
git checkout branch2
Aborting
error: The following untracked working tree files would be overwritten by checkout:
Foo.txt
Please move or remove them before you can switch branches.
Nach einigem Stochern ich, dass meine .git/config
Datei die folgende Einstellung gefunden hatte true scheint das Problem zu beheben und erlaubt mir, wie gewohnt zwischen Zweigen zu wechseln.
dies also in Bezug auf, würde ich gerne wissen:
- Gibt es einen negativen Effekt dieser Einstellung? Sollte es immer unter Windows sein? Was ist, wenn ich mit anderen Entwicklern arbeite und sie nicht den gleichen Wert dafür haben?
- Gibt es eine andere Möglichkeit, die Datei umzubenennen, ohne diese Einstellung ändern zu müssen?
- Warum passiert das überhaupt? Als ich die Änderung festlegte, erkannte Git korrekt, dass die Datei tatsächlich umbenannt wurde (löschte nicht eine Datei und fügte dann noch eine hinzu). Was ist genau passiert, als ich versucht habe, die Filialen zu wechseln?
Vielen Dank!
Das würde bedeuten, dass ich die Datei jedes Mal löschen würde, wenn ich den Zweig wechseln möchte, von nun an bis für immer. Recht? Das scheint irgendwie unbequem zu sein ... – avivr
Hast du es tatsächlich versucht? In meinem Fall hat es funktioniert, aber ich werde nicht behaupten, dass ich deine Situation vollständig reproduzieren könnte. – bigge
Ja, das habe ich zumindest vorausgesetzt, dass ich dich richtig verstanden habe. Ich habe die Datei mit git umbenannt und dann die Änderung vorgenommen. Dann löschte ich die Datei (nur mit 'rm') und benutzte' git checkout.' um sie wiederherzustellen. Danach gleicher Fehler beim Wechseln der Verzweigung. – avivr