Skip to content
selste edited this page Nov 21, 2010 · 3 revisions

Git – Für Fortgeschrittene / Branches etc.

So, die grundlegende Arbeitsweise beherrscht jetzt jeder?!? Dann machen wir mal weiter …

Branches

Womöglich – hoffentlich!?! – hat sich der Eine oder Andere beim Lesen des ersten Teils gefragt, was es denn mit dieser merkwürdigen Syntax auf sich hat, die beim Anlegen eines neuen Repositories verwendet wurde:
git remote add origin […] und anschließend git push origin master

Na ja, da kommen – im Prinzip – bereits Branches ins Spiel …
Was in Subversion üblicherweise unter trunk zu finden ist und in CVS mit head bezeichnet wurde – git verwendet dafür den Begriff master.
So lange bei der Arbeit mit/in einem Repository nichts anderes angegeben wird beziehen sich alle Änderungen auf master!

Ok … und wie funktioniert das dann?!
Na, lassen wir uns zunächst mal den Status des Repositories anzeigen: git status – da sollte dann so etwas dabei herauskommen:
steffen:/tmp/test$ git status
# On branch master
nothing to commit (working directory clean)

Der Befehl git branch [branchname] führt dazu, daß der Branch ‘[branchname]’ neu angelegt wird sofern er noch nicht existiert. Ruft man dagegen nur git branch auf, werden alle Branches des Repositories ausgegeben.
Der Wechsel zwischen Branches erfolgt über den Befehl git checkout [branchname]:
steffen:/tmp/test$ git branch
* master
test
steffen:/tmp/test$ git checkout test
Switched to branch 'test'

Nun gut … und wie kommt jetzt das Zeug, das ich im Branch test habe, ins Repository auf github?!
Ist nicht weiter schwierig – ein Aufruf von git push [branchname] erledigt das – entweder wird dabei der Branch neu angelegt, weil er auf github noch nicht existiert, oder er wird aktualisiert!

Branches wird man natürlich auch wieder los: git branch -d ‘[branchname]’ löscht einen Branch aus dem Repository.

FIXME – Ein paar Sätze zum Merging gehören hier rein!

Jetzt ist es aber wirklich soweit – wie arbeiten denn mehrere Leute via Fork auf einem gemeinsamen Repository?!? Hier gehts weiter!

Clone this wiki locally