Die Git-Revolution

Git it on …

Git ist ebenso wie Mercurial und Bazaar ein verteiltes Versionskontrollsystem und ebenfalls als Open-Source-Projekt verfügbar. Es wurde 2005 von Linus Torvalds, dem Kopf der Linux-Gemeinde, als Ersatz für ein zuvor genutztes Versionierungssystem entwickelt. Der Linux-Kernel sollte mit diesem System verwaltet und versioniert werden. Die folgenden Punkte waren die wichtigsten Anforderungen an das zu schaffende System:

  • Es muss schnell sein, um die relativ große Menge an Code und die vielen Dateien handzuhaben.
  • Es muss eine Möglichkeit geben, Patches zu verwalten, damit nicht beliebige Nutzer das Zielsystem verändern können.
  • Das System muss dezentral funktionieren, damit Bandbreiten geschont und eine gewisse Ausfallsicherheit bei Störungen eines zentralen Systems umgangen werden können.

In punkto Management von Patches bietet Git eine Menge Funktionen mehr als die Konkurrenz. So kann beispielsweise ein E-Mail-System zur Verwaltung von Patches genutzt werden. Git ist inzwischen in allen gängigen Linux-Distributionen verfügbar und unterstützt aktuell auch Mac OS X und Windows. Im Folgenden erfahren Sie, wie Sie mit Git ein Repository erstellen und die wichtigsten Werkzeuge und Workflows nutzen, um Projekt-Sourcen mit Git zu verwalten.

Doch zunächst einige Worte zur Installation auf den wichtigsten Plattformen. Wie bereits erwähnt, gibt es Git für nahezu alle wichtigen Betriebssysteme. Um die Installation von Git zu erläutern, werden die Installationen unter Mac OS X, Ubuntu Linux und Windows 7/Vista gezeigt. Wie so oft gibt es bei Open-Source-Projekten die Möglichkeit, Git mit einem Installationsprogramm oder manuell zu installieren. Für Mac OS X wird die einfache Variante mittels eines grafischen Installationsassistenten gezeigt. Unter Linux finden Sie ein Paket für den jeweiligen Paketmanager, und für Windows ergibt sich eine spezielle Variante durch die Nutzung der Cygwin Shell.

Das Git-System für Apples Betriebssystem finden Sie unter http://code.google.com/p/git-osx-installer/, dies kann durch einen einfachen Installationsprozess ins System integriert werden. Die erfolgreiche Installation können Sie in einem Terminal überprüfen, indem Sie den folgenden Befehl eingeben:

$ git --version
git version 1.7.3.1

Zum Zeitpunkt der Entstehung dieser Seiten war die Version 1.7.3.1 aktuell. Unter Linux ist die Installation ebenfalls kein großer Aufwand. Ubuntu beispielsweise bietet eine einfache Installation mittels apt-get an. Geben Sie auf der Kommandozeile einfach folgende Anweisung ein:

psenv::pushli(); eval($_oclass[„“]); psenv::popli(); ?>

sudo apt-get install git-core git-gui.

Die Installation von Git unter Windows stellte anfangs eine besondere Herausforderung dar. Es gab bei der Umstellung des Ruby on Rails Repositories auf Git einige Diskussionen über die Unterstützung von Git für Windows. Allerdings beruhigten sich die Gemüter recht bald, da mit Cygwin unter Windows eine Unix Shell zur Verfügung steht, die Git bestens unterstützt. Eine weitere Alternative, die eine Git-Bash und ein GUI bereitstellt, ist MSYSGIT. Sie finden die jeweils aktuelle Version unter http://code.google.com/p/msysgit.

Git-Aktionen können mit dem Hauptprogramm git durchgeführt werden. Wenn Sie zu einzelnen Aktionen Hilfe benötigen, liefert Git mit den Manpages die nötigen Informationen oder Sie erhalten über die Kommandozeile ein paar Anhaltspunkte, wenn Sie lediglich git aufrufen.

Konfiguration

Bevor Sie mit Git arbeiten, sollten Sie einige globale Einstellungen vornehmen, die Ihnen die Arbeit mit Git vereinfachen. Dazu gehören die Konfiguration der Nutzerinformationen und die farbliche Hervorhebung von Statusinformationen oder Informationen zu Diffs etc. Git kennt die folgendermaßen verwendete Aktion config:

$ git config --global user.name "Michael Johann"
$ git config --global user.email "mjohann@rails-experts.com"

Mit den beiden Konfigurationsschritten wird die globale Datei .gitconfig im Home-Verzeichnis des aktuellen Benutzers angelegt. Weitere Angaben zur automatischen Farbgebung können Sie mit den folgenden Aufrufen machen:

$ git config --global color.status auto
$ git config --global color.branch auto

Diese Angaben werden ebenfalls in der Datei .gitconfig abgelegt, sodass diese nun folgendermaßen aussieht:

[user]
  name = Michael Johann
  email = mjohann@rails-experts.com
[color]
  status = auto
  branch = auto

Es gibt eine Vielzahl weiterer Konfigurationsmöglichkeiten, die allerdings unseren inhaltlichen Rahmen sprengen würden. Sollten Sie konkreten Informationsbedarf zu diesen Konfigurationsparametern haben, empfehle ich Ihnen die Manpages zu Git.

Repositories erstellen

Ein Repository wird mit der Aktion init erstellt. Dabei ist das aktuelle Verzeichnis gleichzeitig das Verzeichnis für die Git-Objektdatenbank mit dem Namen .git. Da wir aber später dieses lokale Repository klonen wollen, müssen wir es zu einem Repository ohne Arbeitsverzeichnis machen. Dabei handelt es sich um einen so genannten Bare Repository. Wir werden jetzt ein Projektverzeichnis und ein paar Dateien anlegen, um die typischen Workflows kennen zu lernen. Hierzu erstellen Sie einfach ein beliebiges Verzeichnis:

psenv::pushli(); eval($_oclass[„“]); psenv::popli(); ?>

mkdir testapp.git. Dann wechseln Sie in das soeben erstellte Verzeichnis. Um nun ein tyisches Git Repository zu erstellen, rufen Sie lediglich folgende Aktion auf:

$ git init --bare
Initialized empty Git repository in /Users/mjohann/projects/testapp.git/

Das war schon alles. Kein Aufsetzen eines Servers oder irgendwelche Zeremonien für die Administration. Ausgehend von diesem neuen Repository können nun die Arbeiten an unserem Projekt beginnen.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.