Für diejenigen, die es nicht wissen: Git ignoriert Unterschiede zwischen Groß- und Kleinschreibung in Dateien und Ordnern. Das ist ein Albtraum, wenn man sie in genau denselben Namen mit anderer Groß- und Kleinschreibung umbenennt.
Ich bin auf dieses Problem gestoßen, als ich einen Ordner von "Petstore" in "petstore" umbenannt habe (Großbuchstaben in Kleinbuchstaben). Ich hatte meine .git/config-Datei so bearbeitet, dass die Groß-/Kleinschreibung nicht mehr ignoriert wurde, Änderungen vorgenommen, meine Übertragungen verworfen und meine Änderungen gespeichert, um sie in einen anderen Zweig zu verschieben. Ich konnte meine versteckten Änderungen nicht auf diesen anderen Zweig anwenden.
Die Lösung, die ich fand und die funktionierte, bestand darin, meine .git/config-Datei vorübergehend so zu bearbeiten, dass case wieder ignoriert wurde. Dies verursachte git stash apply
zum Erfolg. Dann änderte ich ignoreCase zurück auf false
. Dann fügte ich alles hinzu, bis auf die neuen Dateien im Ordner petstore, von denen git seltsamerweise behauptete, sie seien gelöscht worden, aus welchem Grund auch immer. Ich übertrug meine Änderungen und führte dann git reset --hard HEAD
um diese nicht verfolgten neuen Dateien loszuwerden. Meine Übergabe erfolgte genau wie erwartet: Die Dateien im Ordner wurden umbenannt.
Ich hoffe, dass dies Ihnen hilft, den gleichen Alptraum zu vermeiden wie ich.