GIT

From C3D2
Revision as of 03:30, 7 September 2011 by Astro (Talk | contribs)

Jump to: navigation, search

Statt zentralem SVN kann auch GIT sehr einfach benutzt werden.

Contents

b0rk3d

Teile des folgenden Inhalts sind nicht korrekt. Begründung: Kaputt gegangen. Bitte auf codetu.be oder Github ausweichen.

Kurzanleitung mit Gitorious

Der Dienst kann auf 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 dodo darum bitten das Problem zu fixen.

Die Registrierung kann auch mit openid gemacht werden. Wer noch kein Account hat findet den hier. 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 Addresse vorher noch etwas anpassen.

git://gitorious@git.hq.c3d2.de/PROJECT/REPOSITORY.git

Wichtig ist auch, dass die Mail-Addresse, die in gitconfig drinne 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

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 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

#!/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.

Personal tools
Namespaces

Variants
Actions
Navigation
Tools