Startseite > Mac, Web > Git Repository auf Webspace ohne WebDAV einrichten    

Git Repository auf Webspace ohne WebDAV einrichten

Hat man etwas Webspace (z.B. für das eigene Blog) kann man relativ einfach sein eigenes git Repository anlegen. Was man dafür benötigt ist etwas Webspace mit Webserver und ssh Zugang. Eigentlich benötigt man auch noch WebDAV aber es geht auch ohne. Wie beschreibt der folgende Text.

Ersteinmal muss man sich “git” installieren. Einfach die aktuelle git-Version von http://git-scm.com/ herunterladen und auf den eigenen Webspace hochladen. Jetzt via ssh auf dem Webserver anmelden und git entpacken und kompilieren.

tar xzvf git-1.6.1.tar.gz
cd git-1.6.1
make configure
./configure --prefix=/absoluter/pfad/zum/webspace/git/
make all
make install

Nun hat man git auf seinem Server installiert und sollte noch die PATH Umgebungsvariable anpassen. Dazu habe ich in meinem Homeverzeichnis die Datei .profile mit folgendem Inhalt angelegt:

export PATH="/absoluter/pfad/zum/webspace/git/bin:$PATH" 

Jetzt kann man sein lokales git Repository für den Webspace vorbereiten. Auf meinem Rechner habe ich in dem Ordner “FirstGit” ein kleines Projekt, was durch git versioniert wird.

git clone --bare ./FirstGit FirstGit.git 

Nun kopiert man den Ordner FirstGit.git auf seinen Webserver und führt dort folgende Schritte aus:

cd FirstGit.git
git --bare update-server-info
mv hooks/post-update.sample hooks/post-update

Die Datei hooks/post-update musste ich noch anpassen und den darin enthaltenen Befehl exec git-update-server-info in exec git update-server-info ändern.
Um sich etwas Tipparbeit zu sparen editiert man auf seinem lokalen Rechner die Datei ~/.gitconfig und fügt einen neuen remote-Abschnitt ein.

[remote "FirstGit"]
url = ssh://Login@my.domain/absoluter/Pfad/zum/Projekt/FirstGit.git
uploadpack = /absoluter/pfad/zum/webspace/git/bin/git-upload-pack
receivepack = /absoluter/pfad/zum/webspace/git/bin/git-receive-pack

Wechselt man auf dem lokalen Rechner in den Projekt Ordner “FirstGit” kann man nun mit dem Befehl

git push FirstGit

das Repository auf dem Webserver aktualisieren. Dies geschieht wie im Remote-Abschnitt eingetragen via SSH. Nutzt man ssh shared-key authentication kann man sich auch das eingeben des Passworts ersparen. Würde man die Übertragung nicht per SSH sondern via HTTP machen wollen, wäre an dieser Stelle ein Webserver mit WebDAV Unterstützung nötig. Das bietet jedoch nicht jeder Hoster. SSH ist da noch durchaus üblicher.

Das Projekt kann man sich via HTTP mit folgendem Befehl vom Webserver holen:

git clone http://my.domain/FirstGit.git

Möchte man lediglich die lokale Version aktualisieren reicht folgendes:

git pull http://my.domain/FirstGit.git master

Für Änderungen via push wieder hochzustellen ist man auf SSH angewiesen, clone und pull funktionieren jedoch auch ohne WebDAV problemlos.

Ein Kommentar zu “Git Repository auf Webspace ohne WebDAV einrichten”

  1. Thomas R. Koll am 10. September, 2009 um 10:09

    Auf github.com sollte man noch hinweisen, da findet sich vorallem die RubyOnRails Projekte aber auch vieles anderes. Und wer will darf auch mal über svnhub.com lachen :)

Trackback URI | Kommentar RSS

Hinterlassen Sie einen Kommentar

© 2008-2010 Christian Müller