{{Broken |Reason=Der untenstehende Veraltungshinweis ist veraltet. }} Statt zentralem [[SVN]] kann auch GIT sehr einfach benutzt werden. {{Broken |Reason=Kaputt gegangen. Bitte auf [http://codetu.be codetu.be] oder [http://github.com/c3d2 Github] ausweichen. }} == Kurzanleitung mit Gitorious == Der Dienst kann auf [http://gitorious.hq.c3d2.de gitorious.hq.c3d2.de] gefunden werden. Als erstes ist eine Registrierung nötig und anschließend sollte dann noch der SSH-key der Wahl hinzugefügt werden.
Das einsetzten des ssh-keys kann mit unter recht lange dauern. Wenn das nicht klappen sollte, weil es zu lange dauert (länger als 2 std), einfach [[Benutzer:Dodo|dodo]] darum bitten das Problem zu fixen. Die Registrierung kann auch mit [[OPENID|openid]] gemacht werden. Wer noch kein Account hat findet den bei http://openid.hq.c3d2.de.
Wer auf eine Bestätigungsmail der Registrierung von Gitorious hofft, wartet ewig. === neues Projekt mit Gitorious === Einfach klicken … Ist weitestgehend selbsterklärend … ; Info: : Wer seinen Code hochladen will oder generell nur auschecken, sollte die Adresse vorher noch etwas anpassen. :: git://gitorious@git.hq.c3d2.de/PROJECT/REPOSITORY.git '''Wichtig''' ist auch, dass die Mail-Adresse, die in gitconfig drin steht die gleiche ist wie die, die bei Gitorious angeben wurde und das es generell nur über '''ipv6''' von außen erreichbar ist. === Anleitung/Übersicht zu git=== [http://sourcemage.org/Git_Guide_Pre-1.5 sourcemage.org/Git_Guide] == Kurzanleitung mit Cogito == Hier wird davon ausgegangen, dass Du ('''HACKER''') mit jemand anderem ('''CRACKER''') zusammen an '''PROJEKT''' hacken willst. === Repository anlegen === : mkdir ''PROJEKT'' : cd ''PROJEKT'' : cg-init -I === Mit Versionsverwaltung arbeiten === * Zu versionierende Dateien mit cg-add hinzufügen * Änderungen im Verzeichnis ''PROJEKT'' vornehmen * um Änderungen seit dem letzten Commit anzusehen *: cg-diff * um Änderungen in die Versionierung zu schreiben *: cg-commit === Code auf [[Cthulhu]] publizieren === * Repository erstellen: *: cg-admin-setuprepo git+ssh://''HACKER''@cthulhu.c3d2.de/www-home/''HACKER''/public_html/git/''PROJEKT''.git * Remote-Branch hinzufügen: *: cg-branch-add cthulhu git+ssh://''HACKER''@cthulhu.c3d2.de/www-home/''HACKER''/public_html/git/''PROJEKT''.git Und nun alle lokal vorhandenen Commits auf cthulhu publizieren: *: cg-push cthulhu === Publizierten Code abholen === : cg-branch-add ''CRACKER'' http://cthulhu.c3d2.de/~''CRACKER''/git/''PROJEKT''.git : cg-update ''CRACKER'' : cg-merge -j ''CRACKER'' :: Das cg-merge -j muss nur beim ersten Mal sein um die Branches zusammenzuführen, später reicht cg-update ''CRACKER''. === create_git_repository.sh für cthulhu ===
#!/bin/sh

cd /www-home/${USER}/public_html/git
echo "${1}.git ${USER}" >> ../gitweb/projects.list
rm -rf ${1}.git
mkdir ${1}.git
GIT_DIR=${1}.git git-init-db
cd ${1}.git
vi description

echo For you: cg-branch-add cthulhu git+ssh://${USER}@cthulhu.c3d2.de/www-home/${USER}/public_html/git/${1}.git
echo For others: cg-branch-add ${USER} http://cthulhu.c3d2.de/~${USER}/git/${1}.git
echo View source: http://cthulhu.c3d2.de/~${USER}/gitweb/?p=${1}.git
== Dateien == === ~/.cgrc === Für farbige Ausgabe:
log -cvf
diff -c
=== ~/.gitconfig oder PROJEKT/.git/config ===
[user]
	name = Hacker
	email = hacker@c3d2.de
=== ''PROJEKT''/.git/description === Projektbeschreibung wie sie z.B. von gitweb angezeigt wird. [[Kategorie:Projekt]]