Ich habe ein Git-Repository mit Gitolite erstellt. Jetzt möchte ich dieses Repository umbenennen.
Wie kann ich das machen?
In der Kapitol von gitolite heißt es, dass ich nicht direkt auf dem Server arbeiten sollte. Aber ich denke, ich muss in diesem Fall etwas am Server arbeiten, oder?
Antworten:
Wie im gitolite basic-admin-Handbuch angegeben :
Repo umbenennen
Das ist ähnlich; Es gibt keinen Code, um dies zu tun
gitolite
. Was Sie tun, ist:Melden Sie sich am Server an
cd $REPO_BASE
(Standard :)cd ~/repositories
undmv old-name.git new-name.git
Zurück auf Ihrem Gitolite-Admin-Klon, bearbeiten
conf/gitolite.conf
und ersetzen Sie alle Vorkommen vonold-name
durchnew-name
. Fügen Sie dann wie gewohnt hinzu, schreiben Sie fest und drücken Sie.Die Reihenfolge dieser beiden Schritte ist wichtig. kehre sie nicht um :-)
Bei gitolite3 ist ein dritter Schritt erforderlich:
gl-conf
im Repo und ändern Sie den Repository-Namen in den neuen NamenUnd natürlich sollte jeder Benutzer seine Klonkonfiguration aktualisieren, um auf den neuen Reponamen zu verweisen.
quelle
gl-conf
den Repository-Namen bearbeiten und ändern.git remote set-url [email protected]:new-name.git
, und führen Sie dann eine ausgit fetch
, um sicherzustellen, dass keine Fehler vorliegen.rm -r new-name.git
vor demmv
Befehl.Ich bin nicht speziell mit Gitolite vertraut, aber ein Ansatz, der funktionieren könnte, besteht darin, ein völlig neues Repository mit dem richtigen Namen zu erstellen, Ihren Code in dieses zu verschieben und dann das alte zu löschen.
quelle
Mit Greg Hewgill als Idee können Sie möglicherweise das Repository in der Konfigurationsdatei umbenennen. Möglicherweise möchten Sie dies zuerst in einem Dummy-Repository versuchen. Mein Verdacht ist, dass der alte Name gelöscht wird, der neue erstellt wird und Sie Ihre Herkunft lokal aktualisieren und dann pushen müssen.
quelle
Ein sauberer Ansatz besteht darin, das neue Repository als leeres Repository zu erstellen und dann Folgendes zu tun:
Angenommen, alt ist ALT und neu (leer) ist NEU:
Oder Sie können das Remote-Repo für OLD direkt verwenden:
Dies wird die gesamte Geschichte bewahren und es Gitolit ermöglichen, mit seinen Einbauten umzugehen. Zusätzlich müssen Sie gitolite-admin aktualisieren, aber es gibt keine Einschränkung in der Reihenfolge.
Dies funktioniert auch ohne Probleme aus der Ferne.
Das Löschen des ALTEN Repositorys sollte jedoch gemäß den Anweisungen von Capitolite (lokal) erfolgen.
quelle