it-swarm.com.de

Wie kann man in einem Git-Repository ein Verzeichnis richtig umbenennen?

Ich denke, es sollte funktionieren, um 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 und Push alles. Aber ist das der beste Weg?

530
qazwsx

Grundlegendes Umbenennen (oder Verschieben):

git mv <old name> <new name>

Groß- und Kleinschreibung beachten - z. von casesensitive bis CaseSensitive - Sie müssen zwei Schritte ausführen:

git mv casesensitive tmp
git mv tmp CaseSensitive

( Mehr zur Groß- und Kleinschreibung in Git… )

… Gefolgt von Commit und Push wäre die einfachste Möglichkeit, ein Verzeichnis in einem Git-Repo umzubenennen.

954
CB Bailey

Wenn Sie diese Fehlermeldung erhalten: Schwerwiegend: Umbenennen von "Ordnername" fehlgeschlagen: Ungültiges Argument

Versuche dies:

git mv foldername tempname && git mv tempname folderName

86

1. Ändern Sie den Namen eines Ordners von alt zu ne

git mv oldfolder newfolder

2. Wenn sich der neue Ordner bereits in Ihrem Repository befindet und Sie ihn überschreiben möchten, verwenden Sie: - force

git mv -f oldfolder newfolder

Vergessen Sie nicht, die Änderungen zum Index hinzuzufügen und nach dem Umbenennen mit git mv zu übernehmen.

. Umbenennen von Ordnername in Ordnername auf Dateisystemen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird

Einfaches Umbenennen mit einem normalen mv-Befehl (nicht git mv) wird nicht als Dateiänderung von git erkannt. Wenn Sie es mit dem Befehl "git mv" wie in der folgenden Zeile versuchen

git mv foldername folderName

Wenn Sie ein Dateisystem verwenden, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, z. Wenn Sie auf einem Mac arbeiten und die Groß- und Kleinschreibung nicht beachten, wird eine Fehlermeldung wie die folgende angezeigt:

fatal: Umbenennung von "Ordnername" fehlgeschlagen: ungültiges Argument

Und hier ist, was Sie tun können, damit es funktioniert:

git mv foldername tempname && git mv tempname folderName

Dies teilt den Umbenennungsprozess auf, indem der Ordner zunächst in einen völlig anderen Ordnernamen umbenannt wird. Nach dem Umbenennen in einen anderen Ordnernamen kann der Ordner endgültig in den neuen Ordnernamen umbenannt werden. Vergessen Sie nicht, nach diesen "git mv" die Änderungen hinzuzufügen und zu übernehmen. Obwohl dies wahrscheinlich keine schöne Technik ist, funktioniert es einwandfrei. Das Dateisystem erkennt eine Änderung der Groß- und Kleinschreibung immer noch nicht, aber git ändert dies, weil es in einen neuen Ordnernamen umbenannt wurde. Das ist alles, was wir wollten :)

50
akshay_rahar

Sie können das Verzeichnis mithilfe des Dateisystems umbenennen. Dann können Sie git rm <old directory> und git add <new directory> ( Hilfeseite ) ausführen. Dann kannst du festschreiben und pushen.

Git erkennt, dass der Inhalt derselbe ist und dass es sich nur um einen Umbenennungsvorgang handelt, und wird als Umbenennungseintrag im Verlauf angezeigt. Sie können dies vor dem Festschreiben mit git status überprüfen.

10
Oleksi

Ich denke, Sie können nicht über die Webanwendung, aber Sie können alle Ordner in Git Client umbenennen. Dadurch werden Ihre Dateien in die neu umbenannten Ordner verschoben.

Ich hatte ein sehr ähnliches Problem: Ich musste verschiedene Ordner von Großbuchstaben in Kleinbuchstaben umbenennen (wie Abc -> abc), ich habe alle Ordner mit einem Dummy-Namen (wie 'abc___') und umbenannt danach habe ich alle Ordner in den ursprünglichen Namen mit dem Kleinbuchstaben (wie abc) umbenannt und es hat sie genommen!

3
Syncro

Ich habe es in zwei Schritten gelöst. Um einen Ordner mit dem Befehl mv umzubenennen, benötigen Sie die entsprechenden Rechte. Wenn Sie nicht über die erforderlichen Rechte verfügen, können Sie die folgenden Schritte ausführen. Angenommen, Sie möchten case-sensitive in case-sensitive umbenennen.

Schritt 1: Benennen Sie den Ordner (Groß- und Kleinschreibung beachten) im Explorer um. zB Umbenennen von Groß-/Kleinschreibung in Ordner1, diese Änderung übernehmen.

Schritt 2: Benennen Sie diesen neu benannten Ordner (Ordner1) in den erwarteten Namen (Groß-/Kleinschreibung beachten) um, z. Benennen Sie Ordner1 in Groß-/Kleinschreibung um. Übernehmen Sie diese Änderung.

0
Nilesh