Inhaltsverzeichnis

Vorbereitung

Um mit git zu arbeiten müssen zunächst persönliche Daten wie Name und Mailadresse festgelegt werden. Diese werden bei jedem Commit übergeben, damit man weiß wer für die Änderungen verantwortlich ist.

% git config --global user.name "Willi Mustermann"
% git config --global user.email "willi.mustermann@example.com"

Clonen

Um an einem Projekt teilzunehmen wird es geclont. Das heißt das Repo wird komplett (mit seiner ganzen Historie) auf den lokalen Rechner kopiert um damit zu arbeiten.

% git clone PFAD_ZUM_REPO

Der PFAD_ZUM_REPO ist dabei die Adresse des entfernten Repositories. Dies kann ein Verzeichnis (lokal oder Netzwerk) oder ein entfernter Rechner sein. Der Befehl erzeugt ein neues Verzeichnis mit dem Namen des Repos und füllt es.

Änderungen committen

Wurden Änderungen an den Quellen durchgeführt und nach erfolgreichen Tests für gut befunden können diese (zunächst in den eigenen lokalen Repo) übernommen werden.

% git commit -a -m "Beschreibung der Änderungen"

Die Änderungen wurden mit der übergebenen Beschreibung und dem eigenen Namen übernommen.

lokales Repo aktualisieren

Um eventuelle Änderungen des Repo in das lokale Repo einzufügen müssen diese heruntergeladen werden. Um z.B. in das Branch master (Standard-Branch) die Änderungen vom Server zu laden wird der folgende Befehl verwendet:

% git fetch origin master

Die Änderungen liegen nun lokal als origin/master vor. Um diese Änderungen nun in das aktuelle Arbeitsverzeichnis einzuarbeiten wir ein merge benötigt

% git merge origin/master

Eigene Änderungen hochladen

Nachdem die eigenen Änderungen lokal committet wurden und das Repo des Servers aktualisiert wurde kann es nun hochgeladen werden. Um z.B. den Branch master auf das remote Repo origin (Standardname) zu kopieren wird wie folgt vorgegangen:

% git push origin master

Nun steht es jedem für ein fetch zur Verfügung.

Dokumentation

Git hat eine seht gute Dokumentation in Form eine kurzen Buches mit vielen Beispielen und eine recht gute Referenz zu allen Befehlen.