====== git ====== git ist ein verteiltes Versionsverwaltungssystem. Im Gegensatz zu [[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 ===== * Webseite von git [[http://git-scm.com/]] (englisch) * Git Wiki [[http://git.wiki.kernel.org/index.php/Main_Page]] (englisch) * Wikipedia zu git [[http://de.wikipedia.org/wiki/Git]] * git Manual Page [[http://www.kernel.org/pub/software/scm/git/docs/]] (englisch)