it-swarm.com.de

Ich ändere die Großschreibung eines Verzeichnisses und Git scheint es nicht zu erfassen

Ich entwickle ein Projekt unter OS X Lion, das unter der Versionskontrolle von Git steht. Ich hatte diese Verzeichnisse in Kleinbuchstaben und dann später großgeschrieben (z. B. emailaddresses => EmailAddresses), aber Git scheint die Änderung nicht zu erkennen. Es ist immer noch der Meinung, dass die Verzeichnisse klein sind, wenn ich git ls-files und andere Befehle ausführte.

Ist das harmlos, oder sollte ich etwas anderes tun, damit Git diese Änderung aufgreift?

86
dan

Sie verwenden wahrscheinlich Groß- und Kleinschreibung (aber nicht für Groß- und Kleinschreibung), HFS +. Normalerweise arbeite ich so um:

$ git mv somename tmpname
$ git mv tmpname SomeName
130
Paul R

Sie können git anweisen, den Fall durch Ausführen zu berücksichtigen

git config core.ignorecase false

135
Taran

Wie man mv auf Mac Case-Sensitively git

Dies geschieht, weil Mac OS X Funktionen zum Beibehalten der Groß- und Kleinschreibung und zur Beeinträchtigung der Unterscheidung von Groß- und Kleinschreibung implementiert, die Ihnen helfen sollen.

Obwohl die doppelten Umbenennungsvorschläge in der anderen Antwort funktionieren werden, empfehle ich die Verwendung von "--force" für ein Best-Practice-Ergebnis:

$ git mv --force somename SomeName


Hinweis: Wenn Sie ohne die Option force versuchen, wird git Sie wie folgt abhaken:

$ git mv somename SomeName
$ fatal: destination exists, source=somename, destination=SomeName

Im obigen Beispiel schlägt der Befehl git fehl und im Dateisystem oder im git-Index werden keine Dateien geändert.

28
David Manpearl

Versuchen Sie, die git config-Option core.ignorecase in Ihrer .gitconfig-Datei in false zu ändern.

16
pooamlairaj

Wenn Sie git mv AAA aaa oder git mv -f AAA aaa ausführen, funktioniert dies nicht und Sie haben den Fehler fatal: renaming 'AAA' failed: Invalid argument.

Da AAA und aaaEINE Ordner/Datei auf Dateisystemen ohne Berücksichtigung der Groß-/Kleinschreibung sind, verschieben Sie AAA nach aaa, dh verschieben AAA als aaa/AAA.

Also solltest du tun

git mv AAA aaa.1
git mv aaa.1 aaa

Ich hoffe, es wird für Sie hilfreich sein.

0
Gapur Kassym

Keine dieser Lösungen funktionierte für mich. SourceTree hat meinen Zweig immer mit einem anderen Fall erstellt, als ich wollte. So wie ich es gelöst habe war:

1 - Schauen Sie sich Ihre Git-Dateien im Finder an. Sie können dies tun, indem Sie dies auf dem Terminal eingeben:

- `defaults write com.Apple.Finder AppleShowAllFiles TRUE`
- `killall Finder`

2 - Starten Sie den Finder erneut und wechseln Sie in Ihr Projektverzeichnis

3 - Jetzt ändern Sie einfach Ihren Ordnernamen, sagen wir von Funktion zu Funktion. Und los gehts.

0
Bruno Cunha