101 lines
3.4 KiB
Plaintext
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]]
|