Ich denke , es sollte das Verzeichnis kopieren arbeitet mit dem gewünschten Namen in ein neues Verzeichnis umbenannt werden, und löschen Sie das alte Verzeichnis , und git add
, git commit
und push
alles. Aber ist das der beste Weg?
651
Antworten:
Grundlegendes Umbenennen (oder Verschieben):
Groß- und Kleinschreibung beachten, z. von
casesensitive
bisCaseSensitive
- Sie müssen zwei Schritte ausführen:( Mehr zur Groß- und Kleinschreibung in Git… )
… Gefolgt von Commit und Push wäre der einfachste Weg, ein Verzeichnis in einem Git-Repo umzubenennen.
quelle
casesensitive
zuCaseSensitive
, können Sie auf diese Weise tun:git mv casesensitive Temp
und danngit mv Temp CaseSensitive
git rm -rf --cached path/to/your/directories
erneut hinzuzufügen undgit config core.ignorecase false
die Befehle ausführen und dann nacheinander ausführen, sonst würde ich für den zweiten Teil einesource is empty
Fehlermeldung erhalten.Wenn Sie diesen Fehler erhalten: fatal: Umbenennen von 'Ordnername' fehlgeschlagen: Ungültiges Argument
Versuche dies:
git mv foldername tempname && git mv tempname folderName
quelle
git mv foldername tempname
undgit mv tempname folderName
, die unter Windows funktionieren sollten.1. Ändern Sie den Namen eines Ordners von altem Ordner in neuen Ordner
2. Wenn sich der neue Ordner bereits in Ihrem Repository befindet und Sie ihn überschreiben und Folgendes verwenden möchten: - force
Vergessen Sie nicht, die Änderungen zum Index hinzuzufügen und nach dem Umbenennen mit git mv festzuschreiben.
3. Umbenennen des Ordnernamens in Ordnername in Dateisystemen ohne Berücksichtigung der Groß- und Kleinschreibung
Das einfache Umbenennen mit einem normalen mv-Befehl (nicht git mv) wird nicht als Dateiaustausch von git erkannt. Wenn Sie es mit dem Befehl 'git mv' wie in der folgenden Zeile versuchen
Wenn Sie ein Dateisystem verwenden, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, z. B. wenn Sie einen Mac verwenden und es nicht so konfiguriert haben, dass zwischen Groß- und Kleinschreibung unterschieden wird, wird eine Fehlermeldung wie die folgende angezeigt:
fatal: Umbenennen von 'Ordnername' fehlgeschlagen: Ungültiges Argument
Und hier ist, was Sie tun können, damit es funktioniert: -
Dadurch wird der Umbenennungsprozess aufgeteilt, indem der Ordner zunächst in einen völlig anderen Ordnernamen umbenannt wird. Nach dem Umbenennen in einen anderen Ordnernamen kann der Ordner schließlich in den neuen Ordnernamen umbenannt werden. Vergessen Sie nach diesen Git-MVs nicht, die Änderungen hinzuzufügen und festzuschreiben. Obwohl dies wahrscheinlich keine schöne Technik ist, funktioniert sie einwandfrei. Das Dateisystem erkennt immer noch keine Änderung der Groß- und Kleinschreibung, aber Git tut dies, weil es in einen neuen Ordnernamen umbenannt wurde, und das ist alles, was wir wollten :)
quelle
Sie können das Verzeichnis über das Dateisystem umbenennen. Dann können Sie
git rm <old directory>
undgit add <new directory>
( Hilfeseite ). Dann können Sie festlegen und pushen.Git erkennt, dass der Inhalt identisch ist und dass es sich nur um einen Umbenennungsvorgang handelt, und er wird als Umbenennungseintrag im Verlauf angezeigt. Sie können vor dem Festschreiben überprüfen, ob dies der Fall ist
git status
quelle
Ich denke, Sie können dies nicht über die Webanwendung tun, aber Sie können alle Ordner in Git Client umbenennen. Dadurch werden Ihre Dateien in die neu umbenannten Ordner verschoben und anschließend festgeschrieben und in das Remote-Repository verschoben.
Ich hatte ein sehr ähnliches Problem: Ich musste verschiedene Ordner von Groß- in Kleinbuchstaben umbenennen (wie Abc -> abc), ich habe alle Ordner mit einem Dummy-Namen umbenannt (wie 'abc___') und danach in das Remote-Repository übernommen dass ich alle Ordner in den ursprünglichen Namen mit Kleinbuchstaben (wie abc) umbenannt habe und es sie genommen hat!
quelle
Ich habe es in zwei Schritten gelöst. Um den Ordner mit dem Befehl mv umzubenennen, benötigen Sie entsprechende Rechte. Wenn Sie kein Recht haben, können Sie diese Schritte ausführen. Angenommen, Sie möchten caseensitive in Casesensitive umbenennen.
Schritt 1: Benennen Sie den Ordner (Groß- und Kleinschreibung beachten) in einen anderen Ordner aus dem Explorer um. z. B. Groß- und Kleinschreibung in Ordner1 umbenennen, um diese Änderung zu übernehmen.
Schritt 2: Benennen Sie diesen neu benannten Ordner (Ordner1) in den erwarteten Namen mit Groß- und Kleinschreibung um (Groß- und Kleinschreibung beachten), z. Benennen Sie Ordner1 in Groß- / Kleinschreibung um. Übernehmen Sie diese Änderung.
quelle
Für das Umbenennen mit Groß- und Kleinschreibung
git mv somefolder someFolder
hat es schon früher für mich funktioniert, aber heute aus irgendeinem Grund nicht. Um dieses Problem zu umgehen habe ich einen neuen Ordnertemp
, bewegt den gesamten Inhaltsomefolder
intemp
, gelöschtsomefolder
, verpflichtet , dietemp
dann erstelltsomeFolder
, bewegt alle den Inhalttemp
insomeFolder
, gelöschttemp
, engagiert und schobsomeFolder
und es funktionierte! Erscheint wiesomeFolder
in Git.quelle
Benennen Sie den Ordner einfach um. git ist ein "Content-Tracker", daher sind die SHA1-Hashes identisch und git weiß, dass Sie ihn umbenennen. Das einzige, was sich ändert, ist das Baumobjekt.
quelle