GIT-Tutorial: Konfiguration des zentralen Repositories

Aus Info-Theke
Zur Navigation springen Zur Suche springen

GIT-Tutorial: Übersicht

Vorbemerkung[Bearbeiten]

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[Bearbeiten]

 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[Bearbeiten]

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[Bearbeiten]

--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[Bearbeiten]

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