Once, when I picked up a book from the local library, the librarian asked to tell her what I thought about the book when I would bring it back. Well, why not write a few lines about all the books I read so everybody could see what I thought about it? I'm often also happy to have friends recommend a certain book or tell me this and that is not really worth reading. I won't comment about the tons of books I have read so far, but about books I read from now on.
highly recommended | sehr empfohlen | |
good reading | gutes lesematerial | |
average | durchschnittlich | |
not too interesting | nicht allzu interessant | |
recommended not to read it | empfehlung das buch nicht zu lesen |
![]() |
|
---|---|
title | Git |
author | Valentin Haenel und Julius Plenz |
ISBN-10 | 3-941-84142-4 |
ISBN-13 | 978-3-941-84142-0 |
ASIN | |
rating | |
date | 2011-Nov-11 |
Obwohl ich seit gut zwei Jahren regelmässsig mit Git arbeite und gut damit zurecht komme, konnte ich aus diesem Buch viel Neues lernen.
Im Gegensatz zu den meisten anderen Büchern wird nicht im Haupttext erklärt, wie Git zu installieren ist. Lediglich im Anhang A wird kurz darauf eingegangen. Das ist aber kein Problem; für praktisch alle Systeme stehen fix fertige Installationspakete zur Verfügung.
Im ersten Kapitel geht es neben den unverzichtbaren Grundbegriffen um die Konfiguration von Git. Schon hier werden Optionen vorgestellt, die in anderen Büchern erst sehr viel später oder garnicht behandelt werden, wie zum Beispiel Aliase oder automatische Fehlerkorrektur.
Nach dem zweiten Kapitel ist der Leser in der Lage mit Git lokal zu arbeiten; die dazu benötigten Kommandos werden ausführlich erklärt und auch das Objektmodell vorgestellt. Wieder fällt auf, dass die Autoren sich nicht auf das Minimum beschränken, sondern auch ein paar erweiterte Optionen erklären, die bei der täglichen Arbeit mit Git immer mal wieder sehr nützlich sind. So z.B. -p für git add oder die grep Funktionalität. Man merkt sehr gut, dass die Autoren Git wirklich im Alltag einsezten die Leserschaft an ihren gesammelten Erfahrungen teilhaben lassen.
Kapitel drei beschäftigt sich vor allem mit Branches, Tags und allem rund ums mergen, während das darauffolgende Kapitel einige fortgeschrittene Konzepte wie rebase, stash, bisect etc. erklärt.
Erst im fünften Kapitel, wenn man ein solides Verständnis von Git aufgebaut hat, verlässt man den lokalen Rechner und lernt mit entfernten Repositories umzugehen. Das nächste, relativ kurze Kapitel gibt Tipps wie Abläufe sowohl lokal als auch im verteilten Repository strukturiert werden können.
Kapitel sieben beinhaltet alle Informationen, welche man benötigt um einen eigenen Server aufzubauen, der Git Repositories für verteiltes Arbeiten zur Verfügung stellt. Dabei werden verschiedene Varianten betrachtet inclusive Gitolite, Gitweb und CGit.
Das zweitletzte Kapitel gehört definitiv in die Sparte fortgreschritten. Es geht um Attribute, Hooks, Referenzen und ganz allgemein darum, vieles zu automatisieren. In diesem Kapitel ist noch viel mehr als in den anderen sichtbar, dass die Autoren aus der Unix/Linux Ecke kommen. Während die vorgestellten Git Mechanismen sicherlich auch unter Windows funktionnieren müssten, sind alle Scripte für Linux ausgelegt.
Im letzten Kapitel wird sehr ausführlich erklärt, wie man mit Git an einem Subversion Repository mitarbeiten kann und wie ein Subversion Repository nach Git migriert werden kann.
Sehr zu empfehlen ist auch Anhang C, wo ausfährlich erklärt wird wie Git besser in die Bash und Z-Shell integriert werden kann, mit Kommando Vervollständigung und einem angepassten Comand Prompt.
Allgemein kann gesagt werden, dass dies ein sehr gelungenes Buch ist, welches auch von geübten Git Anwendern geschätzt werden dürfte. Für Anfänger dürften Kapitel 1, 2 und 5 erst mal interessant sein und die Lektüre des ganzen Buches nach einiger Arbeit mit Git erscheint als sinnvoll. Allerdings sollte man nicht den Anspruch haben, sämtliche erwähnten Kommandos und Optionen nach einmaligem Lesen zu kennen; viele davon kommen aus der Schublade "fortgeschrittenes Arbeiten mit Git" und sind in einigen Situationen ausgesprochen hilfreich, aber nicht überlebensnotwendig.