Nun, da du über einen einfachen Lese-/Schreibzugriff und Lesezugriff auf dein Projekt verfügst, kannst eine einfache webbasierten Git-GUI einrichten. Git wird mit einem CGI-Skript namens GitWeb ausgeliefert, das dafür verwendet werden kann.
Du kannst sehr einfach ausprobieren, wie GitWeb für dein Projekt aussehen würde. Es gibt einen Befehl, um eine temporäre Instanz zu starten. Dazu benötigst du auf deinem System einen simplen Webserver wie lighttpd oder webrick.
Auf Linux-Maschinen wird lighttpd oft installiert, so dass du ihn wahrscheinlich direkt starten kannst, indem du git instaweb in deinem Projektverzeichnis eingibst.
Wenn du einen Mac verwenden, wird Leopard mit Ruby vorinstalliert geliefert, so dass webrick dein Favorit sein sollte.
Um instaweb mit einem nicht-lighttpd Handler zu starten, kannst du es mit der Option --httpd versuchen.
$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO WEBrick 1.3.1
[2009-02-21 10:02:21] INFO ruby 1.8.6 (2008-03-03) [universal-darwin9.0]Dies startet einen HTTPD-Server auf Port 1234 und öffnet ein Webbrowser, der die Seite anzeigt.
Das Vorgehen ist ziemlich einfach.
Wenn du fertig bist und den Server herunterfahren möchtest, kannst du den gleichen Befehl mit der Option --stop ausführen:
$ git instaweb --httpd=webrick --stopWenn du das Web-Interface kontinuierlich auf einem Server für dein Team oder für ein gehostetes Open-Source-Projekt ausführen möchtest, musst du das CGI-Skript so einrichten, dass es von deinem Webserver zur Verfügung gestellt wird.
Einige Linux-Distributionen haben ein gitweb Paket, das du möglicherweise über apt oder dnf installieren kannst, so dass du das zuerst ausprobieren solltest.
Wir werden die manuelle Installation von GitWeb nur sehr kurz abhandeln.
Zuerst musst du den Git-Quellcode, der im Lieferumfang von GitWeb enthalten ist, herunterladen und das benutzerdefinierte CGI-Skript generieren:
$ git clone https://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/srv/git" prefix=/usr gitweb
SUBDIR gitweb
SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
GEN gitweb.cgi
GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/Beachte, dass du dem Befehl mit der Variablen GITWEB_PROJECTROOT mitteilen musst, wo dein Git-Repositorys zu finden ist.
Nun musst du Apache dazu bringen, CGI für dieses Skript zu verwenden. Dazu kannst du einen VirtualHost hinzufügen:
<VirtualHost *:80>
ServerName gitserver
DocumentRoot /var/www/gitweb
<Directory /var/www/gitweb>
Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>Auch hier kann GitWeb mit jedem CGI- oder Perl-fähigen Webserver zur Verfügung gestellt werden. Wenn du etwas anderes bevorzugst, sollte es nicht schwierig einzurichten sein.
Nun solltest du in der Lage sein, http://gitserver/ zu besuchen, um deine Repositorien online zu betrachten.
