Ich denke, es sollte funktionieren, das umzubenennende Verzeichnis in ein neues Verzeichnis mit dem gewünschten Namen zu kopieren, und das alte Verzeichnis löschen und git add
, git commit
y push
alles. Aber ist das der beste Weg?
Antworten
Zu viele Anzeigen?Einfaches Umbenennen (oder Verschieben):
git mv <old name> <new name>
Groß- und Kleinschreibung beachten - z. B. von casesensitive
a CaseSensitive
-Sie müssen einen Zweischritt verwenden:
git mv casesensitive tmp
git mv tmp CaseSensitive
( Mehr über Groß- und Kleinschreibung in Git )
gefolgt von commit und push wäre der einfachste Weg, ein Verzeichnis in einem Git Repo umzubenennen.
1. Ändern des Namens eines Ordners von oldfolder in newfolder
git mv oldfolder newfolder
2. Wenn newfolder bereits in Ihrem Repository vorhanden ist und Sie es außer Kraft setzen und verwenden möchten:- Kraft
git mv -f oldfolder newfolder
Vergessen Sie nicht, die Änderungen in den Index aufzunehmen und sie nach der Umbenennung mit git mv zu übertragen.
3. Umbenennung von Ordnername in Ordnername bei Dateisystemen, die Groß- und Kleinschreibung nicht berücksichtigen
Einfaches Umbenennen mit einem normalen mv-Befehl (nicht git mv) wird von git nicht als Dateiwechsel erkannt. Versuchen Sie es mit dem Befehl "git mv" wie in der folgenden Zeile
git mv foldername folderName
Wenn Sie ein Dateisystem verwenden, bei dem die Groß- und Kleinschreibung nicht beachtet wird, z. B. auf einem Mac, und Sie es nicht so konfiguriert haben, dass es die Groß- und Kleinschreibung beachtet, erhalten Sie eine Fehlermeldung wie diese:
fatal: Umbenennung 'foldername' fehlgeschlagen: Ungültiges Argument
Und hier ist, was Sie tun können, damit es funktioniert:-
git mv foldername tempname && git mv tempname folderName
Dadurch wird der Umbenennungsprozess aufgeteilt, indem der Ordner zunächst in einen völlig anderen Ordnernamen umbenannt wird. Nach der Umbenennung in den anderen Ordnernamen kann der Ordner schließlich in den neuen Ordnernamen umbenannt werden. Vergessen Sie nach diesen 'git mv's wiederum nicht, die Änderungen hinzuzufügen und zu übertragen. Auch wenn dies wahrscheinlich keine schöne Technik ist, funktioniert sie perfekt. Das Dateisystem erkennt zwar immer noch nicht die Änderung der Groß- und Kleinschreibung, aber Git erkennt sie aufgrund der Umbenennung in einen neuen Ordnernamen, und das ist alles, was wir wollten :)
Viele richtige Antworten, aber da ich hier gelandet bin, um eine Ordner umbenennen mit Verlauf habe ich festgestellt, dass diese
git mv <old name> <new name>
verschiebt die alter Ordner (selbst) zu verschachteln in der neuer Ordner
während
git mv <old name>/ <new name>
(beachten Sie das '/') verschiebt die verschachtelter Inhalt von der alter Ordner zum neuer Ordner
beide Befehle kopierten den Verlauf der verschachtelten Dateien nicht mit. I eventuell jeden verschachtelten Ordner einzeln umbenannt
git mv <old name>/<nest-folder> <new name>/<nest-folder>
Sie können das Verzeichnis über das Dateisystem umbenennen. Dann können Sie git rm <old directory>
y git add <new directory>
( Hilfe-Seite ). Dann können Sie die Daten übertragen und pushen.
Git erkennt, dass der Inhalt derselbe ist und dass es sich nur um einen Umbenennungsvorgang handelt, und es erscheint als Umbenennungseintrag in der Historie. Sie können dies vor der Übergabe überprüfen, indem Sie git status
- See previous answers
- Weitere Antworten anzeigen