Verschieben Sie gitolite3 auf einen neuen Server

2238
sakra

Wie verschieben Sie eine vorhandene gitolite3-Installation erfolgreich auf einen neuen Server?

Ich habe die hier gegebenen Anweisungen befolgt .

Nach dem Kopieren aller Repos vom alten Server (einschließlich des ursprünglichen gitolite-admin) und dem Ausführen eines push -fKlons aus dem ursprünglichen gitolite-admin-Repo aktualisiert gitolite3 das versteckte .gitoliteVerzeichnis auf dem Server jedoch nicht vom ursprünglichen gitolite-admin.

Hier sind die genauen Befehle, die ich ausgeführt habe

$ git clone git://github.com/sitaramc/gitolite Cloning into 'gitolite'...  $ gitolite/install  use the following full path for gitolite: /Users/git/gitolite/src/gitolite  $ gitolite setup -pk admin.pub  Initialized empty Git repository in /Users/git/repositories/gitolite-admin.git/ Initialized empty Git repository in /Users/git/repositories/testing.git/ WARNING: /Users/git/.ssh/authorized_keys missing; creating a new one 

Der Schlüssel admin.pubist derselbe Schlüssel, den ich für das ursprüngliche Setup verwendet habe.

Dann habe ich den Inhalt des generierten Repository-Verzeichnisses durch die Repositorys vom ursprünglichen Server ersetzt (das neu generierte gitolite-adminRepository wurde überschrieben ).

$ gitolite setup 

Dieser Befehl hat das versteckte .gitoliteVerzeichnis nicht geändert, die folgenden Zeilen wurden dem Protokoll hinzugefügt/Users/git/.gitolite/logs/gitolite-2013-07.log

013-07-09.18:03:10 19151 cli gitolite setup 2013-07-09.18:03:10 19151 system,git add conf/gitolite.conf 2013-07-09.18:03:10 19151 system,gitolite compile 2013-07-09.18:03:10 19151 system,gitolite trigger POST_COMPILE 2013-07-09.18:03:10 19151 system,/Users/git/gitolite/src/triggers/post-compile/ssh-authkeys,POST_COMPILE 2013-07-09.18:03:10 19151 system,/Users/git/gitolite/src/triggers/post-compile/update-git-configs,POST_COMPILE 2013-07-09.18:03:10 19151 system,/Users/git/gitolite/src/triggers/post-compile/update-gitweb-access-list,POST_COMPILE 2013-07-09.18:03:10 19151 system,/Users/git/gitolite/src/commands/access,%,gitweb,R,any 2013-07-09.18:03:11 19151 system,/Users/git/gitolite/src/commands/git-config,-r,%,gitweb\. 2013-07-09.18:03:11 19151 system,/Users/git/gitolite/src/triggers/post-compile/update-git-daemon-access-list,POST_COMPILE 2013-07-09.18:03:11 19151 system,/Users/git/gitolite/src/commands/access,%,daemon,R,any 2013-07-09.18:03:11 19151 END 

Dann auf einem anderen Rechner, auf dem mein ursprünglicher Klon des Originals gitolite-adminausgecheckt wurde, lief ich:

$ git push -f Everything up-to-date 
2
Sie haben `gitolite setup` ausgeführt? Was passiert mit der Ausgabe von "git push -f" im Gitolite-Admin-Repo? Etan Reisner vor 10 Jahren 0
Siehe aktualisierte Frage. sakra vor 10 Jahren 0
Sie haben den Teil über das Hinzufügen einer neuen Fernbedienung für den neuen Server vor dem Push verpasst. Sie müssen das tun, damit der `push -f` auf den neuen Server geht. Etan Reisner vor 10 Jahren 1

1 Antwort auf die Frage

1
sakra

Wie von Etan Reisner in einem Kommentar erwähnt, ist der Schritt auf eine neue Fernbedienung für den neuen Server der entscheidende Teil. gitolite-adminFühren Sie auf dem lokalen Computer, auf dem der ursprüngliche Klon des Originals ausgecheckt ist, Folgendes aus:

$ git remote add newserver git@newserver.local:gitolite-admin.git $ git push newserver -f Counting objects: 281, done. Delta compression using up to 4 threads. Compressing objects: 100% (240/240), done. Writing objects: 100% (281/281), 27.83 KiB | 0 bytes/s, done. Total 281 (delta 85), reused 5 (delta 0) To git@newserver.local:gitolite-admin.git + d7502b8...de05d2e master -> master (forced update) 

Auf der Serverseite wurde das versteckte .gitoliteVerzeichnis dann mit dem ursprünglichen Inhalt des gitolite-adminRepositorys aktualisiert .