GIT-Tutorial: Konfiguration des zentralen Repositories
Vorbemerkung
Hier wird eine einfache Möglichkeit vorgestellt, GIT-Repositories auf einem Server veröffentlichen.
Wichtig: Mit dieser Methode sind die Repositories schreibgeschützt und für jedermann lesbar.
Für die Verwaltung schreibbarer Repositories mit verschlüsseltem Zugang bietet sich gitosis an.
Installation
apt-get git-daemon-run
Mit diesem Paket wird implizit das Paket runit installiert, das eine allgemeine Verwaltung von Dämon-Prozessen (Diensten) bietet.
Konfiguration
Die Konfiguration von git-daemon erfolgt durch Aufrufparameter, also muss dies in der Konfiguration von runit passieren:
cd /etc/service/git-daemon # in der Datei run steht der Aufruf von git-daemon $EDITOR run
Hier muss die folgende Zeile geändert werden:
exec git-daemon --export-all --verbose --base-path=/srv/gitosis/repositories/public /srv/gitosis/repositories/public
Dabei geht das Beispiel davon aus, dass das Repository von gitosis verwaltet wird (daher der Pfad /srv/gitosis/repositories), zusätzlich aber schreibgeschützt für jedermann lesbar veröffentlicht wird (mittels git-daemon).
Noch ein Beispiel, wenn gitosis nicht verwendet wird:
exec git-daemon --export-all --verbose --base-path=/home/public /home/public
Optionen und Argumente
--export-all gibt alle Repositories frei, die in der Whitelist stehen. Wird diese Option nicht angegeben, so muss im Pfad jedes freizugebenden Repositories eine Datei namens git-daemon-export-ok existieren.
--base-path gibt den Pfad an, der in der URL entfernt wird (siehe unten).
Die Argumente, die keine Optionen sind, sind Einträge in die Whitelist der Repositories. Auch Unterverzeichnisse von Whitelisteinträgen werden exportiert.
Zugriff auf die Repositories
Mit den obigen Einstellungen kann das Repository /srv/gitosis/repositories/public/git-tut-remote auf dem Server f-r-e-i.de folgendermassen geklont werden:
git clone git://f-r-e-i.de/git-tut-remote