Die Versionsverwaltung git gewinnt immer mehr an Popularität. Dies begründet sich unter anderem darauf, dass git, im Gegensatz zu anderen Systemen, sehr einfach in der Handhabung ist. In diesem Artikel wird eine Möglichkeit aufgezeigt, oftmalig zu erledigende Aufgaben von git mit Hilfe von hooks erledigen zu lassen.
Git will dem Entwickler das Leben erleichtern. Eine sehr interessante Hilfestellung sind die sogennanten hooks, welche es dem Entwickler erlauben, an bestimmten vorher bekannten Zeitpunkten selbst erstellte Skripte ausführen zu lassen. So könnte automatisch ein Unit-Test des eingecheckten Quellcodes ausgeführt werden, die Dokumentation erstellt und schließlich eine Rundmail an alle Beteiligten über die aktuellen Änderungen verschickt werden.
Die hooks befinden sich im Verzeichnis .git/hooks/. Sie sind im Allgemeinen einfache Shellskripte, könnten aber auch durchaus komplexere Programme darstellen.
Hier ein kleines Beispiel: Wenn ich Shellskripte für meinen täglichen Bedarf entwickle, dann mache ich das in einem bestimmten Unterverzeichnis. Nun will ich aber jedesmal, wenn ich ein Skript überarbeitet habe und dieses, nachdem es getestet und als stabil befunden wurde, commitet habe, das Skript nach ~/bin kopieren, um dann auch damit Arbeiten zu können. Hierfür bietet sich die Verwendung des post-commit hooks an. .git/hooks/post-commit enthält also einfach folgendes:
#!/bin/sh
#
# copy source files to ~/bin
cp *.sh ~/bin
Commite ich also ein Skript, dann wird nach erfolgreichem commit post-commit aufgerufen und damit alle in dem Verzeichnis vorhandenen Shellskripte nach ~/bin kopiert.
Natürlich gibt es noch eine Vielzahl anderer Möglichkeiten um diese hooks zu verwenden. Anwendungen dafür findet aber wohl jeder selbst.

Git ist eine freie Software zur verteilten Versionsverwaltung von Dateien. Es wurde ursprünglich für die Quellcode-Verwaltung des Linux-Kernels entwickelt. Die Entwicklung von Git wurde im April 2005 von Linus Torvalds begonnen, um das bis dahin verwendete Versionskontrollsystem BitKeeper zu ersetzen, welches durch eine Lizenzänderung vielen Entwicklern den Zugang verwehrte. Die erste Version erschien bereits wenige Tage nach der Ankündigung. Git läuft auf fast allen modernen UNIX-artigen Systemen, wie Linux, Solaris, Mac OS X, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD, AIX und IRIX. Auf Microsoft Windows läuft es entweder mit Hilfe der Cygwin-Umgebung oder mit Msysgit, bzw. der seit einiger Zeit verfügbaren TortoiseGit-Shell-Erweiterung (ähnlich TortoiseSVN). nDie derzeit aktuelle Version wird produktiv für die Entwicklung des Linux-Kernels und im Rahmen vieler weiterer Projekte eingesetzt, darunter Samba, X.Org, Qt, GNOME, One Laptop per Child, Ruby on Rails, VLC, Wine, LilyPond, TaskJuggler, DragonFly BSD, Android, Busybox, Amarok, Perl 5[1] und x264.[2] Derzeitiger Maintainer von Git ist Junio Hamano.
http://de.wikipedia.org/wiki/Git