c3d2-wiki/GIT.mw

101 lines
3.4 KiB
Plaintext

Statt zentralem [[SVN]] kann auch GIT sehr einfach benutzt werden.
=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 (max 10 min. wegen cron-job). Wem das zu lange ist kann einfach mal [[Benutzer:Dodo|dodo]] oder [[Benutzer:Astro|Astro]] darum bitten den task_performer von gitorious mal zu starten.
Die Registrierung kann auch mit [[OPENID|openid]] gemacht werden. Wer noch kein Account hat findet den [http://openid.hq.c3d2.de hier].
HQ_Schlüsselersatz?action=edit
Danach stehts es einem frei ob man nun sein Projekt in Gitorious oder mit der Konsole/Terminal erstellt.
=== neues Projekt mit Gitorious ===
Einfach klicken ...
Ist weitestgehend selbsterklärend ...
'''Info:''' Nach dem erstellen eines Projektes muss wieder der task_performer sein Werk vollbringen, bevor man es weiter nutzen kann.
=== neues Projekt mit der Shell ===
<pre>#im projekt der wahl auf localhost:
git init
#remote verbindung zu server setzen:
git remote add origin gitorious@git.hq.c3d2.de:PROJEKT/mainline.git
#hochladen:
git push origin master</pre>
'''Vorteil:''' Projekt sofort im repo aufm Server und sonst alles fertig (kein task_performer mehr nötig).
'''Nachteil:''' Is nochn bisschen buggy (der baut da noch stuss beim erstellen des events für das anlegen eines neuen projects)
=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 '''PROJEKT'''-Verzeichnis vornehmen
* ''cg-diff'' um Änderungen seit dem letzten Commit anzusehen
* ''cg-commit'' um Änderungen in die Versionierung zu schreiben
==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==
<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:
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]]