634 Stimmen

Wie kann ich ein Git-Repository umbenennen?

git mv benennt eine Datei oder ein Verzeichnis in einem Repository um. Wie kann ich das Git-Repository selbst umbenennen?

6 Stimmen

Ihre Frage ist berechtigt. Git hat Repositories, und diese können Projekte wie Eclipse-Projekte enthalten, wenn Sie sich entscheiden, Ihr Projekt in ein Git-Repository zu legen. Wenn es das ist, was Sie wollten, dann sehen Sie in der unten stehenden Antwort, wie Sie das tun können.

5 Stimmen

git selbst enthält keine Bestimmung zur Angabe des Repository-Namens. Der Name des Root-Verzeichnisses ist der einzige Quelle der Wahrheit für den Namen des Repository. Die Website .git/description Datei wird jedoch nur von einigen Anwendungen verwendet wie Gitweb

895voto

Alex Brown Punkte 40146

Es gibt verschiedene Möglichkeiten, ein Git-Repository umzubenennen: den angezeigten Namen, das Repository-Verzeichnis oder den Namen des entfernten Repositorys. Jede dieser Interpretationen erfordert unterschiedliche Schritte zum Umbenennen.

Angezeigter Name

Benennen Sie den angezeigten Namen um (z. B. angezeigt durch gitweb ):

  1. Editar .git/description den Namen des Repositorys enthalten.
  2. Speichern Sie die Datei.

Repository-Verzeichnis

Normalerweise (mit Ausnahmen für Worktrees und Submodule, die weiter unten erläutert werden) verweist Git nicht auf den Namen des Verzeichnisses, in dem sich das Repository befindet, so dass wir es einfach umbenennen oder verschieben können:

  1. Öffnen Sie eine Eingabeaufforderung (oder ein Dateimanagerfenster).
  2. Wechseln Sie in das Verzeichnis, das das Repository-Verzeichnis enthält (d. h. gehen Sie nicht in das Repository-Verzeichnis selbst).
  3. Benennen Sie das Verzeichnis um (z. B. mit mv von der Befehlszeile oder dem F2 Hotkey aus einer GUI).

Verschieben eines Repositorys, das Arbeitsbäume enthält

Wenn Sie Arbeitsbäume erstellt haben unter Verwendung der git worktree Unterbefehle aus dem Repository, das umbenannt werden soll, dann enthält jedes Verzeichnis des Arbeitsbaums eine .git Datei, die Folgendes enthält

gitdir: {full-path-to-parent-repository}/.git/worktrees/{worktree-name}

Wenn Sie also den Ort des übergeordneten Repositorys verschieben, müssen Sie für jeden dieser Arbeitsbäume auch dessen .git Datei, um den übergeordneten Pfad zu ändern.

Verschieben eines Verzeichnisses, das est ein Arbeitsbaum

Verwenden Sie die git worktree move Befehl aus dem übergeordneten Repository.

Verschieben eines Repositorys mit Untermodulen

Ähnlich wie im Fall des Arbeitsbaums hat das Submodulverzeichnis eine .git Datei, die auf ihre Eltern verweist. Die übergeordnete auch hat eine .git/modules/{submodule}/config Datei, die absolute Pfade enthalten kann, die bearbeitet werden müssen. Siehe auch diese Frage .

Umbenennen eines Submoduls

Verwenden Sie git mv wie besprochen in diese Antwort .

Eckfälle, die sowohl Untermodule als auch Arbeitsbäume betreffen

Tun Sie das nicht. Wenn Sie es tun müssen, lesen Sie die Dokumente für git worktree repair und wahrscheinlich auch die Dokumentationen für Untermodule um zu verstehen, wie sie umgesetzt werden.

Entferntes Repository

Benennen Sie ein entferntes Repository wie folgt um:

  1. Gehen Sie zum Remote-Host (z. B., https://github.com/User/project ).

  2. Befolgen Sie die Anweisungen des Hosts, um das Projekt umzubenennen (dies ist von Host zu Host unterschiedlich, aber normalerweise Einstellungen ist ein guter Ausgangspunkt).

  3. Wechseln Sie in Ihr lokales Repository-Verzeichnis (d. h. öffnen Sie eine Eingabeaufforderung und wechseln Sie in das Verzeichnis des Repositorys).

  4. Bestimmen Sie die neue URL (zum Beispiel, git@github.com:User/project-new.git )

  5. Legen Sie die neue URL mit Git fest:

    git remote set-url origin git@github.com:User/project-new.git

43voto

LightCC Punkte 7512

Mit Github als Fernbedienung

Umbenennen des entfernten Repos auf Github

Wenn Sie Github oder Github Enterprise als Server für die Speicherung/Verteilung Ihres Repositorys verwenden, können Sie das Repository einfach direkt in den Repository-Einstellungen umbenennen.

Auf der Hauptseite des Repos befindet sich die Registerkarte Einstellungen auf der rechten Seite, und der Name des Repos ist das erste Element auf der Seite:

enter image description here

Github leitet die Anfragen an die neue URL weiter

Eine sehr nette Funktion in Github, wenn Sie ein Repo umbenennen, ist, dass Github speichert den alten Repo-Namen und alle zugehörigen URLs und leitet den Verkehr auf die neuen URLs um . Da Ihr Benutzername/Org und der Name des Projektarchivs Teil der URL sind, ändert eine Umbenennung die URL.

Da Github den alten Repo-Namen speichert und Anfragen an die neuen URLs weiterleitet, landet jeder, der über den alten Repo-Namen auf Issues, Wiki, Stars oder Follower zugreift, immer noch am neuen Ort auf der Github-Website. Github leitet auch Git-Befehle der unteren Ebene um, wie git clone , git fetch , usw.

Weitere Informationen finden Sie in der Github-Hilfe zum Umbenennen eines Repo

Umbenennen des lokalen Repo-Namens

Wie bereits von anderen erwähnt, wird der lokale "Name" Ihrer Projektgruppe in der Regel als der Name des Root-Ordners/Verzeichnisses betrachtet, und Sie können diesen ändern, verschieben oder den Ordner an einen beliebigen Ort kopieren, ohne dass sich dies auf die Projektgruppe auswirkt.

Git ist so konzipiert, dass es sich nur um Dateien innerhalb des Root-Ordners kümmert.

31voto

Tobu Punkte 23823

Ein Git-Repository hat keinen Namen. Sie können das Verzeichnis, das Ihren Arbeitsbaum enthält, einfach umbenennen, wenn Sie möchten.

21voto

Alex Punkte 191

Umbenennen PRJ0.git a PROJ1.git und bearbeiten Sie dann die URL-Variable, die sich in der Datei .git/config Datei Ihres Projekts.

19voto

avi.elkharrat Punkte 5054

Wenn Sie GitLab oder GitHub verwenden, können Sie diese Dateien grafisch bearbeiten.

Verwendung von GitLab

Gehen Sie zu Ihrem Projekt Einstellungen . Dort können Sie den Namen des Projekts ändern und vor allem Ihr Repository umbenennen (dann geraten Sie in die Gefahrenzone).

Sobald dies geschehen ist, müssen die Konfigurationen der lokalen Clients mit

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X