Wie benenne ich ein Git-Repository um?

433

git mvBenennt eine Datei oder ein Verzeichnis in einem Repository um. Wie benenne ich das Git-Repository selbst um?

Yantao Xie
quelle
1
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):

  1. Bearbeiten .git/description, um den Namen des Repositorys zu enthalten.
  2. 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:

  1. Öffnen Sie eine Eingabeaufforderung (oder ein Dateimanagerfenster).
  2. Wechseln Sie in das Verzeichnis, das das Repository-Verzeichnis enthält (dh gehen Sie nicht in das Repository-Verzeichnis selbst).
  3. Benennen Sie das Verzeichnis um (z. B. über mvdie Befehlszeile oder den F2Hotkey über eine GUI).

Remote-Repository

Benennen Sie ein Remote-Repository wie folgt um:

  1. Wechseln Sie zum Remote-Host (z. B. https://github.com/User/project ).
  2. Befolgen Sie die Anweisungen des Hosts, um das Projekt umzubenennen (unterscheidet sich von Host zu Host, aber normalerweise sind Einstellungen ein guter Ausgangspunkt).
  3. Wechseln Sie in Ihr lokales Repository-Verzeichnis (dh öffnen Sie eine Eingabeaufforderung und wechseln Sie in das Repository-Verzeichnis).
  4. Bestimmen Sie die neue URL (zum Beispiel [email protected]:User/project-new.git)
  5. Stellen Sie die neue URL mit Git ein:

    git remote set-url origin [email protected]:User/project-new.git
    
Alex Brown
quelle
3
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.

Tobu
quelle
7
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.

Alex
quelle
15

In einem neuen Repository $ git initenthä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.

mholm815
quelle
Alex Browns Antwort hatte Ihre enthalten.
Yantao Xie
13

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 .

Droogans
quelle
12
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:

  1. Wechseln Sie zu dem bestimmten Repository, das Sie umbenennen möchten
  2. Navigieren Sie zur Registerkarte Einstellungen
  3. Geben Sie dort im Abschnitt Repository-Name den neuen Namen ein, den Sie eingeben möchten, und klicken Sie auf Rename
Neha Kumari
quelle
Keine GitHub-Frage, hier geht es um Git.
Robrecord
10

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

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git
avi.elkharrat
quelle
9
  • Benennen Sie auf der Serverseite das Repository wie gewohnt mit dem Befehl mv um:

    mv oldName.git newName.git
    
  • Ändern Sie dann auf der Clientseite den Wert der [remote "origin"]URL in den neuen:

    url=example.com/newName.git
    

Es hat bei mir funktioniert.

Vorformling
quelle
8

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.)

Danny Remington - OMS
quelle
+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 .

Ujjwal Singh
quelle
5

Für Amazon AWS- codecommit Benutzer

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

Referenz: hier

Extrem
quelle
4

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.

Richard
quelle
5
Dies beantwortet nicht die ursprüngliche Frage.
Mjuarez
Ist diese Antwort ein Kommentar für die Antwort von Danny Remington - OMS ?
Peter Mortensen
4

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:

Geben Sie hier die Bildbeschreibung ein

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.

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.

LightCC
quelle
"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)

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

ASCHE
quelle
7
Die Frage bezieht sich eher auf Git als auf Github.
Yantao Xie
nicht umbenannt, so
Manjitha Teshara
2
  1. Wechseln Sie zum Remote-Host (z . B. https://github.com/ < Benutzer> / <Projekt> / ).
  2. Klicken Sie auf die Registerkarte Einstellungen .
  3. Benennen Sie unter Repository-Name um (und drücken Sie die Taste Rename).
akulich
quelle
0

Ö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".

bshr
quelle
0

Haben Sie versucht, Ihren Projektnamen in zu ändern? package.json und git initstattdessen den Befehl auszuführen, um das vorhandene Git neu zu initialisieren?

Ihr vorhandener Git-Verlauf bleibt bestehen.

Priyabagus
quelle
-2

Dies funktionierte bei mir unter Windows 10 über die Befehlszeile:

git checkout <oldname>
git branch -m <newname>

Von So benennen Sie einen lokalen und Remote-Git-Zweig um

Dies war ein reines lokales Repository (nicht auf Fernbedienungen).

emery.noel
quelle