git mv
benennt eine Datei oder ein Verzeichnis in einem Repository um. Wie kann ich das Git-Repository selbst umbenennen?
Antworten
Zu viele Anzeigen?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
):
- Editar
.git/description
den Namen des Repositorys enthalten. - 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:
- Öffnen Sie eine Eingabeaufforderung (oder ein Dateimanagerfenster).
- Wechseln Sie in das Verzeichnis, das das Repository-Verzeichnis enthält (d. h. gehen Sie nicht in das Repository-Verzeichnis selbst).
- 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:
-
Gehen Sie zum Remote-Host (z. B., https://github.com/User/project ).
-
Befolgen Sie die Anweisungen des Hosts, um das Projekt umzubenennen (dies ist von Host zu Host unterschiedlich, aber normalerweise Einstellungen ist ein guter Ausgangspunkt).
-
Wechseln Sie in Ihr lokales Repository-Verzeichnis (d. h. öffnen Sie eine Eingabeaufforderung und wechseln Sie in das Verzeichnis des Repositorys).
-
Bestimmen Sie die neue URL (zum Beispiel,
git@github.com:User/project-new.git
) -
Legen Sie die neue URL mit Git fest:
git remote set-url origin git@github.com:User/project-new.git
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:
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.
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
- See previous answers
- Weitere Antworten anzeigen
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 wieGitweb