Nun möchte ich aber ein paar Worte der Client-Seite widmen, in meinem Falle also der Verwendung von Git unter Mac OS X. Wirkliche Probleme gibt es dabei nicht, nur einige “nice-to-knows”, die ich an dieser Stelle kurz zusammenfassen möchte. Sollte einem meiner Leser noch etwas fehlen, so möge er es über die Kommentare hinzufügen ;-). Danke schon mal.
1. Installation
Den Installer habe ich bei Google code gefunden: http://code.google.com/p/git-osx-installer/. Damit ist die Installation ein Klacks. Auf meinem System mit Mac OS 10.6 Snow Leopard musste ich aber noch einen kleinen Hack anwenden, damit auch tatsächlich die aktuelle Version aus diesem Installer verwendet wird. Das liegt daran, dass Mac OS, wie jedes andere UNIX auch, die PATH-Variable linear durchsucht und den ersten Treffer verwendet. Auf meinem System war es nun leider so, dass ich eine alte Version von Git unter /usr/local/bin liegen hatte, die neue Version aber unter /usr/local/git/bin liegt. Verwendet hat Mac OS immer die alte Version, da die PATH-Variable den Pfad zur neueren Git-Version als erstes auflistete.
Um das Problem zu beheben, habe ich die Datei
/etc/profiles
editiert (sudo nano /etc/profiles), die die globale PATH-Variable beinhaltet. Bei mir sieht die entsprechende Zeile wie folgt aus:
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/bin:/usr/texbin:/usr/X11/bin
Somit sucht Mac OS nun zuerst nach der aktuellen Version. Andere Mac-OS-Installer von Git mögen die Binarys von Git woanders ablegen, der korrespondierende Pfad müsste dann entsprechend angepasst werden.
2. Konfiguration
Eine weitergehende Konfiguration von Git ist eigentlich nicht erforderlich, als sinnvoll haben sich aber einige Variablen herausgestellt. Folgende Kommandos habe ich für meine Git-Konfiguration verwendet:
2.1 Benutzerkonfiguration
git config –global user.name “Vorname Nachname“
git config –global user.email “[email protected]”
Diese Kommandos setzen die entsprechenden Git-Einstellungen global für den Systembenutzer. Diese sind somit für alle Repositorys eures Systembenutzers gültig. Abgelegt werden die Einstellungen in der Datei ~/.gitconfig. Um die Einstellungen spezifisch für ein Repository zu überschreiben, könnt ihr folgende Befehle verwenden:
git config user.name “Vorname Nachname“
git config user.email “[email protected]”
Diese Einstellungen werden in der Datei .git/config in eurem Repository-Verzeichnis abgelegt und sind somit auch nur für das jeweilige Repository gültig.
Es ist durchaus sinnvoll, diese Variablen zu setzen, da nur so gewährleistet ist, dass eure Commits eindeutig euch zugeordnet werden können. Diese Einstellungen können im Übrigen unabhängig von eventuellen Benutzern auf eurem Git-Server gesetzt werden.
2.2 Konfiguration der Ausgabe
Um die Ausgaben von Git farbig zu gestalten, müsst ihr folgendes eintippen:
git config –global color.ui “auto”
Auch hier gilt wieder, dass der Schalter –global die Einstellungen global setzt.
2.3 Weitere Einstellungen
Um Git für die Verwendung von Multi-Core-CPUs zu konfigurieren, folgenden Befehl eingeben:
git config –global pack.threads “0”
Um Apples opendiff für die Anzeige von diffs zu verwenden:
git config –global merge.tool opendiff
git config –global merge.summary true
.DS_Store-Dateien vom Repository ausschliessen:
git config –global core.excludesfile ~/.gitignore
echo “.DS_Store” »~/.gitignore
Textmate als Standard-Editor setzen:
git config –global core.editor “mate ‑w”
2.4 Github-spezifische Einstellungen
Damit die geniale Social-Coding-Plattform GitHub (https://github.com) euren Benutzer korrekt erkennt, müssen zwei weitere Einstellungen gesetzt werden:
git config –global github.user
git config –global github.token
Eure entsprechenden Daten findet ihr unter https://github.com/account.
2.5 Textmate-Bundle
Für die Textmate-User unter euch gibt es im Übrigen ein Git-Bundle, welches wie folgt installiert werden kann:
mkdir ‑p ~/Library/Application\ Support/TextMate/Bundles
cd !$
git clone git://github.com/jcf/git-tmbundle Git.tmbundle
osascript ‑e ‘tell app “TextMate” to reload bundles’
In Textmate müsst ihr nun noch die Shell-Variable TM_GIT erstellen. Diese muss (in meinem Falle) auf /usr/local/git/bin zeigen.
Wie gesagt, sollte irgendwo noch etwas wichtiges fehlen, lasst es mich bitte über die Kommentare wissen.