Ich entwickle ein Projekt unter OS X Lion, das unter Git-Versionskontrolle steht. Ich hatte diese Verzeichnisse in Kleinbuchstaben und habe sie später großgeschrieben (z. B. E-Mail-Adressen => E-Mail-Adressen), aber Git scheint die Änderung nicht zu erkennen. Es denkt immer noch, dass die Verzeichnisse beim Ausführen git ls-files
und anderen Befehlen in Kleinbuchstaben geschrieben sind .
Ist das harmlos oder sollte ich etwas anderes tun, damit Git diese Änderung aufgreift?
Antworten:
Sie verwenden wahrscheinlich HFS +, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird. Normalerweise arbeite ich so herum:
quelle
git push origin master
. Wenn git sich weigert, die Fernbedienung zu aktualisieren, müssen Sie möglicherweise eine Dummy-Datei hinzufügen (z. B.touch stam
) und den Push ausführen. Anschließend wird stam gelöscht und erneut gedrückt.Sie können git anweisen, den Fall zu berücksichtigen, indem Sie ausführen
git config core.ignorecase false
quelle
Wie man mv auf Mac macht Groß- und Kleinschreibung beachten
Dies geschieht, weil Mac OS X Funktionen zur Beibehaltung der Groß- und Kleinschreibung und zur Unempfindlichkeit gegenüber Groß- und Kleinschreibung implementiert, die Ihnen helfen sollen.
Obwohl die Vorschläge zur doppelten Umbenennung in der anderen Antwort funktionieren, empfehle ich die Verwendung von '--force' für ein Best-Practice-Ergebnis:
Hinweis: Wenn Sie es ohne die Force-Option versuchen, wird Git Sie wie folgt belasten:
Im obigen Beispiel schlägt der Befehl git fehl und es werden keine Dateien im Dateisystem oder im git-Index geändert.
quelle
fatal: not under version control
.git
Befehle funktionieren nur in Verzeichnissen mit GIT-Repositorys.Versuchen Sie, die Git-Konfigurationsoption core.ignorecase in Ihrer .gitconfig-Datei in false zu ändern.
quelle
git config core.ignorecase false
Die folgenden Schritte haben mir geholfen, das Problem zu beheben:
Benennen Sie den Ordner um in
temp
:Bühne und Commit:
Benennen Sie den
temp
Ordner nach Ihren Wünschen um:Fertig - Sie können jetzt drücken.
quelle
Wenn Sie
git mv AAA aaa
oder tungit mv -f AAA aaa
, wird es nicht funktionieren und Sie werden Fehler habenfatal: renaming 'AAA' failed: Invalid argument
.Da
AAA
undaaa
sich in Dateisystemen ohne Berücksichtigung der Groß- und Kleinschreibung EIN GLEICHER Ordner / dieselbe Datei befinden, bedeutet VerschiebenAAA
nachaaa
VerschiebenAAA
alsaaa/AAA
.Also solltest du tun
Ich hoffe es wird hilfreich für Sie sein.
quelle
Der Grund dafür ist, dass LINUX-basierte Betriebssysteme oder MacOS die Groß- und Kleinschreibung für den Datei- / Ordnernamen ignorieren. Wir müssen dieses Problem durch die folgenden Schritte lösen
quelle
Keine dieser Lösungen hat bei mir funktioniert. SourceTree hat meine Filiale immer mit einem anderen Fall erstellt, als ich wollte. So löste ich es:
1 - Sehen Sie sich Ihre Git-Dateien im Finder an. Sie können dies tun, indem Sie dies auf dem Terminal eingeben:
2 - Starten Sie den Finder neu und wechseln Sie in Ihr Projektverzeichnis
3 - Ändern Sie jetzt einfach Ihren Ordnernamen, sagen wir von Feature zu Feature. Und los geht's.
quelle
Sie können dies auch manuell tun, ohne GIT-Befehle zu verwenden.
.git
Löschen Sie innerhalb des Ordners einfach den Ordner mit dem gewünschten Namen, zSomeName
. Und benennen Sie dann den Ordnersomename
in umSomeName
. Weitere Details finden Sie unter: So korrigieren Sie den Ordnernamen in Großbuchstaben und konvertieren Git in Kleinbuchstabenquelle
Ich hatte das gleiche Problem und verwende die unten stehende Lösung. Ich benutze dies für Batch-, Verzeichnis- und Dateiumbenennungen usw.:
Wie hier beschrieben.
quelle
Nichts davon hat mir wirklich geholfen. Ich musste mich immer noch dazu auffordern, meine Änderungen zu speichern, da mein lokaler Ordner groß geschrieben wurde, die Fernbedienung jedoch nicht, und mein Zweig zurückblieb und ich aufgrund von Unterschieden bei der Dateikapitalisierung nicht mehr ziehen konnte in der Ordnerstruktur.
Die einzige Möglichkeit, dies zu beheben, bestand darin, meinen lokalen Zweig zu löschen und die Fernbedienung auszuchecken.
quelle