Rezension zu O’Reillys Introducing Github

Buchtitel Introducing Github An Github kommt heutzutage kaum ein Entwickler vorbei. Sei es, dass man dort seine eigenen Projekte hostet oder, was häufiger der Fall sein könnte, Tipps, Tools, Sourcen und Inspiration aus den vielen Projekten dort holen möchte.

Auch ich habe ab und zu mit Github zu tun, hauptsächlich dann, wenn ich aus oben genannten Gründen in lieb gewonnenen Projekten wie Cookiecutter, Sphinx oder Tinkerer stöbere.

Dabei habe ich Github immer als so etwas ähnliches wie ein Webfrontend für das verteilte Versionsverwaltungssystem Git gesehen. Eine fatale Fehleinschätzung, wie ich nun - nach dem Lesen des Buches Introducing Github von Peter Bell und Brent Beer - weiss. Das Buch ist im O’Reilly-Verlag erschienen (eBook 17,49 €, http://www.oreilly.de/catalog/9781491949740/index.html) und mir für diese Rezension vom Verlag als eBook zur Verfügung gestellt worden.

Das Buch richtet sich an Projektleiter, Produktmanager, Designer, Autoren, Teammitglieder und Entwickler von Software und Softwareprojekten, die Github nutzen möchten oder müssen.

Es ist eine nicht-technische Beschreibung der Konzepte, Workflows und Funktionen dieser Plattform für kollaborative Entwicklung. Der Leser sollte wissen, dass das Buch keine tiefer gehende Beschreibung des Versionsverwaltungssystems Git darstellt.

Inhalt

Begonnen wird mit einem Überblick über die Funktionen von Github, welche teilweise auf den Funktionen von Git basieren, aber auch deutlich darüber hinaus gehen.

Neben den Grundfunktionen wie Commiting, Branching, Merging und Forking werden zur Einstimmung auch die Github-spezifischen Funktionen wie Charts, Wiki und Issue Tracker erwähnt.

Im weiteren Verlauf wird der Einsteiger an die Hand genommen und es wird nahezu jedes Detail und jeder Button der Webseite mit seinen Funktionen beschrieben. Dabei werden auch Zusammenhänge erläutert und Sinn und Zweck der einen oder anderen Funktion.

Hilfreich sind die weiteren Darstellungen der Konzepte, die die Kollaboration des Teams und der Community ermöglichen. So werden nun die Prinzipien und Nutzen von Pull Requests, dem Wiki und dem Issue-Tracker ausführlich beschrieben.

Die verschiedenen nicht nur für Stakeholder und Projektmanager aufschlussreichen Diagramme der Plattform werden ebenfalls erläutert. Dabei wird auch dargestellt, welchen Nutzen Sie für die Analyse des Zustands der Projekte haben. Dabei werden die Bedeutungen von Pulse, Code Frequency Graph oder Punch Card Graph schnell klar.

Der Mittelteil des Buches ist sehr praxisorientiert. Im Verlaufe der Besprechung verschiedener Funktionen wird der Leser mehrfach eingeladen und animiert aktiv zu werden und Github direkt zu nutzen. Dazu stellt der Autor ein eigenes Github-Projekt zum Mitmachen zur Verfügung (https://github.com/pragmaticlearning/pragmaticlearning.github.io)

Sehr ausführlich wird die Arbeit mit Pull Requests dargestellt, die eine der zentralen Funktionen für die Zusammenarbeit auf Github darstellen.

Nach der Übersicht aller Funktionen aus der Sicht eines Teammitglieds wechselt des Autorenteam die Perspektive. Nun wird dargestellt, wie man ein eigenes Projekt einrichtet und verwaltet. Ausserdem wird darauf eingegangen, wie Github von Unternehmen mit Entwicklungsteams genutzt werden kann.

Den Abschluss des Buches bilden die Beschreibungen, wie die Repositories von Github auf den eigenen Rechner geklont werden können, um so lokale Arbeitskopien oder Backups vorhalten zu können.

Fazit

Das Buch in in leicht verständlichem Englisch geschrieben. Es behandelt alle Aspekte von Github, um erfolgreich an Projekten mitarbeiten zu können und eigene Projekte voranzutreiben.

Sehr gelungen fand ich die ausführliche Darstellung der Funktionsweise der Pull Requests, die mich dazu animierten gleich bei dem Projekt Tinkerer eine eine verbesserte deutsche Übersetzung per PR anzubieten. Mein Pull Request wurde angenommen, so dass ich sagen kann: diesen Praxistest hat das Buch bestanden.

Mir persönlich war das Buch zu wenig technisch, was aber sicher kein genereller Nachteil sein muss. Es richtet sich ganz klar auch an die nicht-technische Leserschaft. Die Autoren bleiben inhaltlich immer konkret und liefern laufend Fakten.

Ich würde das Buch jedem empfehlen, der ohne oder mit nur wenig technischen Hintergrund Github nutzen möchte. Es wäre zwar durchaus möglich, sich die Funktionen von Github selbst nach und nach zu erarbeiten. Mit dem Buch Introducing Github geht das aber sehr viel effizienter und ohne zeitraubende Irrwege.