{{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.<br />
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.<br />
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.
:: <code>git://gitorious@git.hq.c3d2.de/PROJECT/REPOSITORY.git</code>

'''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 ===
: <code>mkdir ''PROJEKT''</code>
: <code>cd ''PROJEKT''</code>
: <code>cg-init -I</code>

=== Mit Versionsverwaltung arbeiten ===
* Zu versionierende Dateien mit <code>cg-add</code> hinzufügen
* Änderungen im Verzeichnis ''PROJEKT'' vornehmen
* um Änderungen seit dem letzten Commit anzusehen
*: <code>cg-diff</code>
* um Änderungen in die Versionierung zu schreiben
*: <code>cg-commit</code>

=== Code auf [[Cthulhu]] publizieren ===

* Repository erstellen:
*: <code>cg-admin-setuprepo git+ssh://''HACKER''@cthulhu.c3d2.de/www-home/''HACKER''/public_html/git/''PROJEKT''.git</code>
* Remote-Branch hinzufügen:
*: <code>cg-branch-add cthulhu git+ssh://''HACKER''@cthulhu.c3d2.de/www-home/''HACKER''/public_html/git/''PROJEKT''.git</code>
Und nun alle lokal vorhandenen Commits auf cthulhu publizieren:
*: <code>cg-push cthulhu</code>

=== Publizierten Code abholen ===
: <code>cg-branch-add ''CRACKER'' http://cthulhu.c3d2.de/~''CRACKER''/git/''PROJEKT''.git</code>
: <code>cg-update ''CRACKER''</code>
: <code>cg-merge -j ''CRACKER''</code>
:: Das <code>cg-merge -j</code> muss nur beim ersten Mal sein um die Branches zusammenzuführen, später reicht <code>cg-update ''CRACKER''</code>.

=== create_git_repository.sh für cthulhu ===
<pre>
#!/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
</pre>

== Dateien ==

=== ~/.cgrc ===
Für farbige Ausgabe:
<pre>
log -cvf
diff -c
</pre>

=== ~/.gitconfig oder PROJEKT/.git/config ===
<pre>
[user]
	name = Hacker
	email = hacker@c3d2.de
</pre>
=== ''PROJEKT''/.git/description ===

Projektbeschreibung wie sie z.B. von gitweb angezeigt wird.

[[Kategorie:Projekt]]
