Inhaltsverzeichnis

git

git ist ein verteiltes Versionsverwaltungssystem. Im Gegensatz zu Subversion (SVN) wird nicht zwingend ein zentraler Server benötigt. Somit kann man die Vorteile einer Versionsverwaltung auch dann nutzen, wenn man gerade keinen Internetzugang zur Verfügung hat.

Vorbereitung

Im folgenden soll ein zentrales Repository erstellt werden. Dieses wird über WebDAV bereitgestellt.

WebDAV

Natürlich muss bereits ein fertiges (passwortgeschütztes) WebDAV-Verzeichnis existieren (siehe WebDAV).

git

Weiterhin wird ein funktionierendes git benötigt. Dieses Tutorial wurde mit Ubuntu 9.10 und git Version 1.7.0.2 erstellt.

Einrichtung des "Servers"

Da einige Fehler bei der direkten Erstellung des Repositories auf dem WebDAV-Verzeichnis auftreten, sollte die Einrichtung zunächst lokal erfolgen.

Dazu erstellt und konfiguriert man in einem neuen Ordner ein neues git Repository:

mkdir neuesprojekt
cd neuesprojekt
git init --bare --shared=all
git update-server-info

Damit ist die eigentliche Einrichtung des zentralen Repositories abgeschlossen. Natürlich muss das Repository noch auf den WebDAV-Server verschoben werden (z.B. nach http://webdav.meinedomain.tld/neuesprojekt/).

Einrichtung des Clients

Auf dem Client clont man sich als erstes das erstellte Repository:

git clone http://benutzername@webdav.meinedomain.tld/neuesprojekt/
cd neuesprojekt/

Man sollte daran denken den eigenen Namen und die eigene E-Mail Adresse sinnvoll festzulegen:

git config --global user.name Name
git config --global user.email E-Mail-Adresse

Nun kann das eigene Repository mit Daten gefüllt werden:

nano wichtige_datei
git add wichtige_datei
git commit -m "inital commit"

Die eigenen Änderungen (des master branches) werden nun auf das zentrale Repository übertragen:

git push tiggerswelt master

Troubleshooting

Falls es beim erstmaligen pushen eines neuen Branches zu Problemen kommt (fatal: git-http-push failed), kann es helfen per FTP eine leere Datei mit dem Namen des neuen Branches im Ordner refs/heads/ im zentralen Repository zu erstellen (und ggf. Schreibrechte setzen).

Weiterführende Links