Ich habe versucht mv, das PROJ0.git in meinem "Repositorys-Host" umzubenennen, es funktioniert. Aber ich weiß nicht, ob es richtig ist, ich meine, gültig.
Yantao Xie
5
Ihre Frage ist in Ordnung. Git verfügt über Repositorys, die Projekte wie Eclipse-Projekte enthalten können, wenn Sie Ihr Projekt in einem Git-Repository ablegen. Wenn Sie dies wollten, lesen Sie in der Antwort unten, wie das geht.
Danny Remington - OMS
3
gitselbst ist nicht vorgesehen, den Repository-Namen anzugeben. Der Name des Stammverzeichnisses ist die einzige Quelle der Wahrheit, die sich auf den Namen des Repositorys bezieht. Die .git/descriptionDatei wird jedoch nur von einigen Anwendungen wieGitweb
Ujjwal Singh
Antworten:
620
Es gibt verschiedene mögliche Interpretationen dessen, was unter Umbenennen eines Git-Repositorys zu verstehen ist: den angezeigten Namen, das Repository-Verzeichnis oder den Namen des Remote-Repositorys. Jedes erfordert unterschiedliche Schritte zum Umbenennen.
Angezeigter Name
Benennen Sie den angezeigten Namen um (z. B. angezeigt durch gitweb):
Bearbeiten .git/description, um den Namen des Repositorys zu enthalten.
Speicher die Datei.
Repository-Verzeichnis
Git verweist nicht auf den Namen des Verzeichnisses, in dem sich das Repository befindet, wie von verwendet git clone master child, sodass wir es einfach umbenennen können:
Öffnen Sie eine Eingabeaufforderung (oder ein Dateimanagerfenster).
Wechseln Sie in das Verzeichnis, das das Repository-Verzeichnis enthält (dh gehen Sie nicht in das Repository-Verzeichnis selbst).
Benennen Sie das Verzeichnis um (z. B. über mvdie Befehlszeile oder den F2Hotkey über eine GUI).
Befolgen Sie die Anweisungen des Hosts, um das Projekt umzubenennen (unterscheidet sich von Host zu Host, aber normalerweise sind Einstellungen ein guter Ausgangspunkt).
Wechseln Sie in Ihr lokales Repository-Verzeichnis (dh öffnen Sie eine Eingabeaufforderung und wechseln Sie in das Repository-Verzeichnis).
Bestimmen Sie die neue URL (zum Beispiel [email protected]:User/project-new.git)
Was passiert im zweiten Fall mit demjenigen, der das Repository bereits geklont hat?
Frederico Schardong
3
Nichts Schlechtes. Sie behalten den ursprünglichen Namen bei, aber ihre Fernbedienung ist jetzt falsch: Wenn sie Updates abrufen möchten, müssen sie eine Verbindung zum neuen Namen herstellen. Wenn Sie und sie synchronisieren oder ein zentrales Repository, wird der ursprüngliche Name beibehalten und alles wird weiter funktionieren
Alex Brown
14
Beachten Sie, dass die Behauptung "git verweist nicht auf diesen Verzeichnisnamen" im zweiten Fall falsch ist, wenn Sie Submodule verwenden: git verwendet einen absoluten Pfad, um auf Submodule zu verweisen. Wenn Sie also Ihr Repository-Verzeichnis umbenennen, werden Submodule beschädigt. Siehe stackoverflow.com/questions/10144149/…
Edward
Ich verwende die GUI von GitHub für Windows und musste die .git / description-Datei nicht ändern (ich habe keine). Der angezeigte Name in der GUI hat sich geändert, nachdem ich den letzten Schritt zum Zurücksetzen des Ursprungs ausgeführt habe.
Joe Ernst
4
Die Leute erwähnen immer wieder .git / description, aber ohne zu erwähnen, welche Änderung Sie tatsächlich vorgenommen haben, um das Repo umzubenennen
Programmer Unextraordinair
24
Ein Git-Repository hat keinen Namen. Sie können das Verzeichnis mit Ihrem Arbeitsbaum einfach umbenennen, wenn Sie möchten.
Ja, ein Git Repo hat einen Namen. Ich habe diesen Fehler nach dem Umbenennen erhalten:$ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed
Sawny
@Sawny, ich sehe nicht, was das mit irgendetwas zu tun hat.
Tobu
19
Sie sagten, dass ein Git-Repo keinen Namen hat, aber das stimmt nicht. Wenn Sie Submodelle verwenden und den Ordner einfach umbenennen, erhalten Sie Fehler von git. Siehe stackoverflow.com/questions/9878860/…
Sawny
6
Okay, der Pfad eines Submoduls innerhalb eines Git-Repositorys ist wichtig. Es ist wahr, aber für diese spezielle Frage nicht relevant.
Tobu
5
Natürlich haben Repositories einen Namen. Siehe unten, wie Sie es ändern können.
Danny Remington - OMS
19
Benennen Sie PRJ0.gitin um PROJ1.gitund bearbeiten Sie dann die URL-Variable in der .git/configDatei Ihres Projekts.
Könnte anderen helfen zu bemerken, dass dies ein Github-spezifischer Vorschlag ist und im Allgemeinen nicht für Git gilt.
Founddrama
1
Ab Januar 2013 sollten die Github-Anweisungen nun lauten: (bei Github angemeldet sein), zu Ihrem Repo gehen, dann zu "Einstellungen" >> "Optionen" gehen und dort nach einer Schaltfläche zum Umbenennen suchen. In Bezug auf die roten Warnungen vor schlechten Ereignissen verweist Droogans auf die andere, daher wird die Frage immer noch dringend empfohlen.
Pestophagous
12
So benennen Sie ein Repository Ihres GitHub-Kontos um:
Wechseln Sie zu dem bestimmten Repository, das Sie umbenennen möchten
Navigieren Sie zur Registerkarte Einstellungen
Geben Sie dort im Abschnitt Repository-Name den neuen Namen ein, den Sie eingeben möchten, und klicken Sie auf Rename
Wenn Sie GitLab oder GitHub verwenden, können Sie diese Dateien grafisch ändern.
Verwenden von GitLab
Gehen Sie zu Ihrem Projekt - Einstellungen . Dort können Sie den Namen des Projekts ändern und vor allem Ihr Repository umbenennen (dann gelangen Sie in den Gefahrenbereich).
Sobald dies erledigt ist, müssen die lokalen Clientkonfigurationen mit aktualisiert werden
Wenn Sie sich in Eclipse befinden und Egit installiert haben, können Sie das Repository, das ein Projekt enthält, folgendermaßen umbenennen:
1) In Eclipse : Schließen Sie alle Projekte, die sich im Repository befinden.
2) Im Dateisystem : Suchen Sie das Verzeichnis / den Ordner, in dem sich das Repository befindet.
3) Im Dateisystem : Benennen Sie das Verzeichnis / den Ordner um, in dem sich das Repository befindet.
4) Im Dateisystem : Öffnen Sie das Verzeichnis / den Ordner, in dem sich das Repository befindet, und benennen Sie das Projektverzeichnis / den Projektordner eines Projekts um, das Sie umbenennen möchten, damit es mit dem neuen Namen des Projekts übereinstimmt. (Dies ist nicht erforderlich, bietet jedoch Konsistenz zwischen dem Projektnamen in Eclipse und dem Projektverzeichnis / -ordner im Repository.)
5) In Eclipse : Löschen Sie alle Projekte im Repository. Aktivieren Sie jedoch NICHT das Kontrollkästchen "Inhalt aus dem Dateisystem löschen". (Das Projekt sollte nicht mehr den korrekten Speicherort des Inhalts des Dateisystems enthalten, damit die Daten auf keinen Fall gelöscht werden können, aber es ist besser, auf Nummer sicher zu gehen.)
6) In Eclipse : Wählen Sie im Menü die Option Datei | Importieren ....
7) In Eclipse : Öffnen Sie im Dialogfeld den Ordner 'Git', wählen Sie 'Projekte von Git' und klicken Sie auf 'Weiter'.
8) In Eclipse : Wählen Sie im Dialogfeld "Lokal" und klicken Sie auf "Weiter".
9) In Eclipse : Klicken Sie im Dialogfeld auf die Schaltfläche "Hinzufügen ...".
10) In Eclipse : Stellen Sie im Dialogfeld sicher, dass das Kontrollkästchen neben dem Repository aktiviert ist, und klicken Sie auf "Fertig stellen".
11) In Eclipse : Wählen Sie im Dialogfeld das Repository aus und klicken Sie auf "Weiter".
12) In Eclipse : Aktivieren Sie im Dialogfeld das Optionsfeld "Vorhandene Projekte importieren", wählen Sie das "Arbeitsverzeichnis" aus und klicken Sie auf "Weiter".
13) In Eclipse : Aktivieren Sie im Dialogfeld das Kontrollkästchen neben den Projekten, an denen Sie arbeiten möchten, und klicken Sie auf "Fertig stellen".
14) In Eclipse : Benennen Sie alle Projekte im Repository um, falls dies gewünscht wird. (Um die Konsistenz zwischen Eclipse und dem Dateisystem zu gewährleisten, geben Sie ihnen denselben Namen wie dem Projektverzeichnis / -ordner im Repository-Verzeichnis / -Ordner.)
+1 (amüsiert und nicht überrascht von 14 Schritten, die hierfür in Eclipse erforderlich sind, insbesondere "Wenn Sie Egit installiert haben", was ein paar Dutzend weitere Schritte mit sich bringt ...)
Jack Wasey
7
Git selbst hat keine Möglichkeit, den Repository-Namen anzugeben. Der Name des Stammverzeichnisses ist die einzige Quelle der Wahrheit, die sich auf den Namen des Repositorys bezieht.
Das .git/descriptionwird jedoch nur von einigen Anwendungen wie GitWeb verwendet .
Um einfach zu sein, entfernen Sie einfach das Eclipse-Projekt (wählen Sie keinen Inhalt auf der Festplatte aus) und importieren Sie das Projekt erneut.
Eclipse identifiziert das mit Git verbundene Projekt und fügt es in die perspektivische Ansicht von Git ein.
In Bezug auf das Remote-Repository können Sie das Repository einfach direkt in den Repo-Einstellungen umbenennen, wenn Sie Github oder Github Enterprise als Serverstandort zum Speichern / Verteilen Ihres Repositorys verwenden.
Auf der Haupt-Repo-Seite befindet sich rechts die Registerkarte Einstellungen, und der Repo-Name ist das erste Element auf der Seite:
Github leitet Anfragen an die neue URL weiter
Eine sehr schöne Funktion in Github beim Umbenennen eines Repos ist, dass Github den alten Reponamen und alle zugehörigen URLs speichert und den Datenverkehr auf die neuen URLs umleitet . Da Ihr Benutzername / Ihre Organisation und Ihr Reponame Teil der URL sind, ändert eine Umbenennung die URL.
Da Github den alten Repo-Namen speichert und Anfragen an die neuen URLs weiterleitet, gelangen Personen, die beim Versuch, auf Probleme, Wiki, Sterne oder Follower zuzugreifen, Links verwenden, die auf dem alten Repo-Namen basieren, weiterhin am neuen Speicherort auf der Github-Website an. Github leitet auch untere Ebene Git Befehle wie git clone, git fetchusw.
Wie bereits erwähnt, wird der lokale "Name" Ihres Repos normalerweise als Stammordner / Verzeichnisname betrachtet. Sie können diesen ändern, verschieben oder den Ordner an einen beliebigen Speicherort kopieren, ohne dass dies Auswirkungen auf das Repo hat.
Git wurde entwickelt, um sich nur um Dateien im Stammordner zu kümmern.
"Wenn jemand Links verwendet, die auf dem alten Repo-Namen basieren ... wird er immer noch am neuen Ort auf der Github-Website ankommen." Ja, es gibt eine solche Funktion. Das Gleiche gilt für BitBucket: community.atlassian.com/t5/Bitbucket-questions/… . Es wäre schön zu wissen, wie man Verweise auf den alten Namen vollständig zerstört, denn nach meinem Verständnis handelt es sich nicht um Umbenennen, sondern um Kopieren. Wäre schön, das richtige Verfahren für die vollständige Umbenennung zu kennen (mit Zerstörung aller alten Sachen).
Alexander Samoylov
@AlexanderSamoylov Ich rate hier nur, aber ich bezweifle aufrichtig, dass etwas im alten Format gespeichert ist. Github sollte nur den alten Archivnamen reservieren und jeglichen Datenverkehr, der über den alten Archivnamen eingeht, auf den neuen Archivnamen umleiten. dh https://github.com/oldrepo/some_pathwird einfach weiterleiten https://github.com/newrepo/some_path, wohin alles verschoben wurde. Der einzige Nachteil sollte sein, dass der alte Repo-Name dauerhaft reserviert ist, damit er nicht wiederverwendet werden kann (auch gut, um zu vermeiden, dass Personen, die die alte URL gespeichert haben, darauf zugreifen).
LightCC vor
3
Die Hauptnamenänderung ist hier (Abb. 1), aber auch readme.md (Abb. 2)
Haben Sie versucht, Ihren Projektnamen in zu ändern? package.json und git initstattdessen den Befehl auszuführen, um das vorhandene Git neu zu initialisieren?
mv
, das PROJ0.git in meinem "Repositorys-Host" umzubenennen, es funktioniert. Aber ich weiß nicht, ob es richtig ist, ich meine, gültig.git
selbst ist nicht vorgesehen, den Repository-Namen anzugeben. Der Name des Stammverzeichnisses ist die einzige Quelle der Wahrheit, die sich auf den Namen des Repositorys bezieht. Die.git/description
Datei wird jedoch nur von einigen Anwendungen wieGitweb
Antworten:
Es gibt verschiedene mögliche Interpretationen dessen, was unter Umbenennen eines Git-Repositorys zu verstehen ist: den angezeigten Namen, das Repository-Verzeichnis oder den Namen des Remote-Repositorys. Jedes erfordert unterschiedliche Schritte zum Umbenennen.
Angezeigter Name
Benennen Sie den angezeigten Namen um (z. B. angezeigt durch
gitweb
):.git/description
, um den Namen des Repositorys zu enthalten.Repository-Verzeichnis
Git verweist nicht auf den Namen des Verzeichnisses, in dem sich das Repository befindet, wie von verwendet
git clone master child
, sodass wir es einfach umbenennen können:mv
die Befehlszeile oder den F2Hotkey über eine GUI).Remote-Repository
Benennen Sie ein Remote-Repository wie folgt um:
[email protected]:User/project-new.git
)Stellen Sie die neue URL mit Git ein:
quelle
Ein Git-Repository hat keinen Namen. Sie können das Verzeichnis mit Ihrem Arbeitsbaum einfach umbenennen, wenn Sie möchten.
quelle
$ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed
Benennen Sie
PRJ0.git
in umPROJ1.git
und bearbeiten Sie dann die URL-Variable in der.git/config
Datei Ihres Projekts.quelle
In einem neuen Repository
$ git init
enthält das Verzeichnis .git beispielsweise nach a die Datei .git / description.Welches sieht so aus:
Unnamed repository; edit this file 'description' to name the repository.
Wenn Sie dies im lokalen Repository bearbeiten, wird es auf der Fernbedienung nicht geändert.
quelle
Wenn Sie Ihr Repository umbenennen möchten, gehen Sie zu Ihrem Repository und klicken Sie auf "admin". Benennen Sie dann um.
Wenn Sie das rote Kästchen sehen, das Sie vor Himmelsstürzen und anderen Dingen warnt, lesen Sie diese Frage .
quelle
So benennen Sie ein Repository Ihres GitHub-Kontos um:
quelle
Wenn Sie GitLab oder GitHub verwenden, können Sie diese Dateien grafisch ändern.
Verwenden von GitLab
Gehen Sie zu Ihrem Projekt - Einstellungen . Dort können Sie den Namen des Projekts ändern und vor allem Ihr Repository umbenennen (dann gelangen Sie in den Gefahrenbereich).
Sobald dies erledigt ist, müssen die lokalen Clientkonfigurationen mit aktualisiert werden
quelle
Benennen Sie auf der Serverseite das Repository wie gewohnt mit dem Befehl mv um:
Ändern Sie dann auf der Clientseite den Wert der
[remote "origin"]
URL in den neuen:Es hat bei mir funktioniert.
quelle
Wenn Sie sich in Eclipse befinden und Egit installiert haben, können Sie das Repository, das ein Projekt enthält, folgendermaßen umbenennen:
1) In Eclipse : Schließen Sie alle Projekte, die sich im Repository befinden.
2) Im Dateisystem : Suchen Sie das Verzeichnis / den Ordner, in dem sich das Repository befindet.
3) Im Dateisystem : Benennen Sie das Verzeichnis / den Ordner um, in dem sich das Repository befindet.
4) Im Dateisystem : Öffnen Sie das Verzeichnis / den Ordner, in dem sich das Repository befindet, und benennen Sie das Projektverzeichnis / den Projektordner eines Projekts um, das Sie umbenennen möchten, damit es mit dem neuen Namen des Projekts übereinstimmt. (Dies ist nicht erforderlich, bietet jedoch Konsistenz zwischen dem Projektnamen in Eclipse und dem Projektverzeichnis / -ordner im Repository.)
5) In Eclipse : Löschen Sie alle Projekte im Repository. Aktivieren Sie jedoch NICHT das Kontrollkästchen "Inhalt aus dem Dateisystem löschen". (Das Projekt sollte nicht mehr den korrekten Speicherort des Inhalts des Dateisystems enthalten, damit die Daten auf keinen Fall gelöscht werden können, aber es ist besser, auf Nummer sicher zu gehen.)
6) In Eclipse : Wählen Sie im Menü die Option Datei | Importieren ....
7) In Eclipse : Öffnen Sie im Dialogfeld den Ordner 'Git', wählen Sie 'Projekte von Git' und klicken Sie auf 'Weiter'.
8) In Eclipse : Wählen Sie im Dialogfeld "Lokal" und klicken Sie auf "Weiter".
9) In Eclipse : Klicken Sie im Dialogfeld auf die Schaltfläche "Hinzufügen ...".
10) In Eclipse : Stellen Sie im Dialogfeld sicher, dass das Kontrollkästchen neben dem Repository aktiviert ist, und klicken Sie auf "Fertig stellen".
11) In Eclipse : Wählen Sie im Dialogfeld das Repository aus und klicken Sie auf "Weiter".
12) In Eclipse : Aktivieren Sie im Dialogfeld das Optionsfeld "Vorhandene Projekte importieren", wählen Sie das "Arbeitsverzeichnis" aus und klicken Sie auf "Weiter".
13) In Eclipse : Aktivieren Sie im Dialogfeld das Kontrollkästchen neben den Projekten, an denen Sie arbeiten möchten, und klicken Sie auf "Fertig stellen".
14) In Eclipse : Benennen Sie alle Projekte im Repository um, falls dies gewünscht wird. (Um die Konsistenz zwischen Eclipse und dem Dateisystem zu gewährleisten, geben Sie ihnen denselben Namen wie dem Projektverzeichnis / -ordner im Repository-Verzeichnis / -Ordner.)
quelle
Git selbst hat keine Möglichkeit, den Repository-Namen anzugeben. Der Name des Stammverzeichnisses ist die einzige Quelle der Wahrheit, die sich auf den Namen des Repositorys bezieht.
Das
.git/description
wird jedoch nur von einigen Anwendungen wie GitWeb verwendet .quelle
Für Amazon AWS-
codecommit
BenutzerReferenz: hier
quelle
Um einfach zu sein, entfernen Sie einfach das Eclipse-Projekt (wählen Sie keinen Inhalt auf der Festplatte aus) und importieren Sie das Projekt erneut.
Eclipse identifiziert das mit Git verbundene Projekt und fügt es in die perspektivische Ansicht von Git ein.
Es wirkt wie ein Zauber.
quelle
Mit Github als Fernbedienung
Remote Repo auf Github umbenennen
In Bezug auf das Remote-Repository können Sie das Repository einfach direkt in den Repo-Einstellungen umbenennen, wenn Sie Github oder Github Enterprise als Serverstandort zum Speichern / Verteilen Ihres Repositorys verwenden.
Auf der Haupt-Repo-Seite befindet sich rechts die Registerkarte Einstellungen, und der Repo-Name ist das erste Element auf der Seite:
Github leitet Anfragen an die neue URL weiter
Eine sehr schöne Funktion in Github beim Umbenennen eines Repos ist, dass Github den alten Reponamen und alle zugehörigen URLs speichert und den Datenverkehr auf die neuen URLs umleitet . Da Ihr Benutzername / Ihre Organisation und Ihr Reponame Teil der URL sind, ändert eine Umbenennung die URL.
Da Github den alten Repo-Namen speichert und Anfragen an die neuen URLs weiterleitet, gelangen Personen, die beim Versuch, auf Probleme, Wiki, Sterne oder Follower zuzugreifen, Links verwenden, die auf dem alten Repo-Namen basieren, weiterhin am neuen Speicherort auf der Github-Website an. Github leitet auch untere Ebene Git Befehle wie
git clone
,git fetch
usw.Weitere Informationen finden Sie in der Github-Hilfe zum Umbenennen eines Repos
Umbenennen des lokalen Repo-Namens
Wie bereits erwähnt, wird der lokale "Name" Ihres Repos normalerweise als Stammordner / Verzeichnisname betrachtet. Sie können diesen ändern, verschieben oder den Ordner an einen beliebigen Speicherort kopieren, ohne dass dies Auswirkungen auf das Repo hat.
Git wurde entwickelt, um sich nur um Dateien im Stammordner zu kümmern.
quelle
https://github.com/oldrepo/some_path
wird einfach weiterleitenhttps://github.com/newrepo/some_path
, wohin alles verschoben wurde. Der einzige Nachteil sollte sein, dass der alte Repo-Name dauerhaft reserviert ist, damit er nicht wiederverwendet werden kann (auch gut, um zu vermeiden, dass Personen, die die alte URL gespeichert haben, darauf zugreifen).Die Hauptnamenänderung ist hier (Abb. 1), aber auch readme.md (Abb. 2)
quelle
quelle
Öffnen Sie das Git-Repository im Browser und gehen Sie zu "Einstellungen". Sie sehen die Schaltfläche zum Umbenennen.
Geben Sie den neuen "Repository-Namen" ein und klicken Sie auf die Schaltfläche "Umbenennen".
quelle
Haben Sie versucht, Ihren Projektnamen in zu ändern?
package.json
undgit init
stattdessen den Befehl auszuführen, um das vorhandene Git neu zu initialisieren?Ihr vorhandener Git-Verlauf bleibt bestehen.
quelle
Dies funktionierte bei mir unter Windows 10 über die Befehlszeile:
Von So benennen Sie einen lokalen und Remote-Git-Zweig um
Dies war ein reines lokales Repository (nicht auf Fernbedienungen).
quelle