Git und der Mac

Ich arbei­te nun schon gerau­me Zeit, unge­fähr ein hal­bes Jahr, mit Git. Wis­sen viel­leicht eini­ge schon, da ich, eben­falls vor einer Wei­le, eine Instal­la­ti­ons­an­lei­tung für den eige­nen Git-Ser­ver publi­ziert habe.

Nun möch­te ich aber ein paar Wor­te der Cli­ent-Sei­te wid­men, in mei­nem Fal­le also der Ver­wen­dung von Git unter Mac OS X. Wirk­li­che Pro­ble­me gibt es dabei nicht, nur eini­ge “nice-to-knows”, die ich an die­ser Stel­le kurz zusam­men­fas­sen möch­te. Soll­te einem mei­ner Leser noch etwas feh­len, so möge er es über die Kom­men­ta­re hin­zu­fü­gen ;-). Dan­ke schon mal.

1. Instal­la­ti­on

Den Instal­ler habe ich bei Goog­le code gefun­den: http://code.google.com/p/git-osx-installer/. Damit ist die Instal­la­ti­on ein Klacks. Auf mei­nem Sys­tem mit Mac OS 10.6 Snow Leo­pard muss­te ich aber noch einen klei­nen Hack anwen­den, damit auch tat­säch­lich die aktu­el­le Ver­si­on aus die­sem Instal­ler ver­wen­det wird. Das liegt dar­an, dass Mac OS, wie jedes ande­re UNIX auch, die PATH-Varia­ble line­ar durch­sucht und den ers­ten Tref­fer ver­wen­det. Auf mei­nem Sys­tem war es nun lei­der so, dass ich eine alte Ver­si­on von Git unter /usr/local/bin lie­gen hat­te, die neue Ver­si­on aber unter /usr/local/git/bin liegt. Ver­wen­det hat Mac OS immer die alte Ver­si­on, da die PATH-Varia­ble den Pfad zur neue­ren Git-Ver­si­on als ers­tes auf­lis­te­te.

Um das Pro­blem zu behe­ben, habe ich die Datei

/etc/profiles

edi­tiert (sudo nano /etc/profiles), die die glo­ba­le PATH-Varia­ble beinhal­tet. Bei mir sieht die ent­spre­chen­de Zei­le 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 aktu­el­len Ver­si­on. Ande­re Mac-OS-Instal­ler von Git mögen die Bina­rys von Git woan­ders able­gen, der kor­re­spon­die­ren­de Pfad müss­te dann ent­spre­chend ange­passt wer­den.

2. Kon­fi­gu­ra­ti­on

Eine wei­ter­ge­hen­de Kon­fi­gu­ra­ti­on von Git ist eigent­lich nicht erfor­der­lich, als sinn­voll haben sich aber eini­ge Varia­blen her­aus­ge­stellt. Fol­gen­de Kom­man­dos habe ich für mei­ne Git-Kon­fi­gu­ra­ti­on ver­wen­det:

2.1 Benut­zer­kon­fi­gu­ra­ti­on

git con­fig –glo­bal user.name “Vor­na­me Nach­na­me“
git con­fig –glo­bal user.email “[email protected]

Die­se Kom­man­dos set­zen die ent­spre­chen­den Git-Ein­stel­lun­gen glo­bal für den Sys­tem­be­nut­zer. Die­se sind somit für alle Repo­sito­rys eures Sys­tem­be­nut­zers gül­tig. Abge­legt wer­den die Ein­stel­lun­gen in der Datei ~/.gitconfig. Um die Ein­stel­lun­gen spe­zi­fisch für ein Repo­sito­ry zu über­schrei­ben, könnt ihr fol­gen­de Befeh­le ver­wen­den:

git con­fig user.name “Vor­na­me Nach­na­me“
git con­fig user.email “[email protected]

Die­se Ein­stel­lun­gen wer­den in der Datei .git/config in eurem Repo­sito­ry-Ver­zeich­nis abge­legt und sind somit auch nur für das jewei­li­ge Repo­sito­ry gül­tig.

Es ist durch­aus sinn­voll, die­se Varia­blen zu set­zen, da nur so gewähr­leis­tet ist, dass eure Com­mits ein­deu­tig euch zuge­ord­net wer­den kön­nen. Die­se Ein­stel­lun­gen kön­nen im Übri­gen unab­hän­gig von even­tu­el­len Benut­zern auf eurem Git-Ser­ver gesetzt wer­den.

2.2 Kon­fi­gu­ra­ti­on der Aus­ga­be

Um die Aus­ga­ben von Git far­big zu gestal­ten, müsst ihr fol­gen­des ein­tip­pen:

git con­fig –glo­bal color.ui “auto”

Auch hier gilt wie­der, dass der Schal­ter –glo­bal die Ein­stel­lun­gen glo­bal setzt.

2.3 Wei­te­re Ein­stel­lun­gen

Um Git für die Ver­wen­dung von Mul­ti-Core-CPUs zu kon­fi­gu­rie­ren, fol­gen­den Befehl ein­ge­ben:

git con­fig –glo­bal pack.threads “0”

Um App­les open­diff für die Anzei­ge von diffs zu ver­wen­den:

git con­fig –glo­bal merge.tool open­diff
git con­fig –glo­bal merge.summary true

.DS_S­tore-Datei­en vom Repo­sito­ry aus­schlies­sen:

git con­fig –glo­bal core.excludesfile ~/.gitignore
echo “.DS_Store” »~/.gitignore

Text­ma­te als Stan­dard-Edi­tor set­zen:

git con­fig –glo­bal core.editor “mate ‑w”

2.4 Git­hub-spe­zi­fi­sche Ein­stel­lun­gen

Damit die genia­le Soci­al-Coding-Platt­form Git­Hub (https://github.com) euren Benut­zer kor­rekt erkennt, müs­sen zwei wei­te­re Ein­stel­lun­gen gesetzt wer­den:

git con­fig –glo­bal github.user
git con­fig –glo­bal github.token

Eure ent­spre­chen­den Daten fin­det ihr unter https://github.com/account.

2.5 Text­ma­te-Bund­le

Für die Text­ma­te-User unter euch gibt es im Übri­gen ein Git-Bund­le, wel­ches wie folgt instal­liert wer­den kann:

mkdir ‑p ~/Library/Application\ Support/TextMate/Bundles
cd !$
git clo­ne git://github.com/jcf/git-tmbundle Git.tmbundle
osa­script ‑e ‘tell app “Text­Ma­te” to rel­oad bund­les’

In Text­ma­te müsst ihr nun noch die Shell-Varia­ble TM_GIT erstel­len. Die­se muss (in mei­nem Fal­le) auf /usr/local/git/bin zei­gen.

Wie gesagt, soll­te irgend­wo noch etwas wich­ti­ges feh­len, lasst es mich bit­te über die Kom­men­ta­re wis­sen.

Posted via email from ulfklose’s pos­te­rous

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.