Blog / COMPANY
FLS-BUCHREZENSION „GITHUB – EINE PRAKTISCHE EINFÜHRUNG“
10. Februar 2021
Florian Diedrich
I. EINFÜHRUNG
Spätestens bei der Zusammenarbeit von mehreren Software-Entwickler*innen tritt die Notwendigkeit auf, die verschiedenen Versionen des sich ständig verändernden Source Codes zu verwalten und die Änderungen an ihm zu koordinieren. Dies gestaltet sich ohne geeignete Werkzeuge als äußerst schwierig. Software-Systeme für diesen Zweck werden als Versionsverwaltung bezeichnet.Ein historisches Beispiel ist das seit 1990 verfügbare „Concurrent Versions System3“ (CVS), das einigen Entwicklern zumindest noch namentlich bekannt sein dürfte; ab 2000 wurde dann vermehrt „Apache Subversion4“ (SVN) verwendet. 2005 wurde Git5 veröffentlicht, das sich seitdem wachsender Beliebtheit erfreut6. Durch die Online-Plattform GitHub kam schließlich eine moderne Kollaborationsplattform hinzu. Ohne dies besonders hervorzuheben, haben wir GitHub bereits in früheren Blog-Artikeln7 zur Veröffentlichung von Source Code verwendet.
II. ZIELGRUPPE
Die vorliegende Einführung richtet sich nicht an Software-Entwickler*innen, Administrator*innen oder vergleichbare Anwender*innen, die bereits einen täglichen routinierten Umgang mit GitHub pflegen – vielmehr sind tatsächlich interessierte Einsteiger*innen die Zielgruppe. Dabei wird jedoch klargestellt, dass sich die griffigen Erklärungen keineswegs nur an Software-Entwickler*innen richten (wenngleich diese vermutlich die Mehrheit der Adressat*innen ausmachen werden), sondern an alle, die zusammen mit Kollaborationspartner*innen an versionierten Dateien arbeiten (müssen). Dazu können beispielsweise auch nicht-technische Teams von Autor*innen gehören.III. AUFBAU & INHALT
In insgesamt 11 Kapiteln stellt die aus der Praxis stammende Autorin Anke Lederer die Online-Plattform GitHub in direkter, lockerer Sprache vor. Nachdem im Vorwort kurz der individuelle Weg zu GitHub und der wahrgenomme Mangel an verständlichen praktischen Einführungen dargestellt wurde, wird kurz die intendierte Zielgruppe des Buchs abgegrenzt und die zum Verständnis nötigen Vorkenntnisse umrissen. Weiter werden, wie in technischen Fachbüchern üblich, die verwendeten gestalterischen Konventionen erklärt. Nachdem dadurch die Leserschaft grob orientiert ist, beginnt der eigentliche fachliche Inhalt.Im ersten Kapitel „Was ist GitHub und wofür brauche ich es?“ werden die Einsatzgebiete von GitHub erläutert und dargestellt, was GitHub leistet. Ferner werden zur Begriffsklärung Git, GitHub und GitLab voneinander abgegrenzt. Das zweite Kapitel „GitHub – wir verschaffen uns einen Überblick“ dient dazu, typische Anwendungsfälle darzustellen und den Einsatz von GitHub als öffentliche Versionsverwaltungs-Plattform zu motivieren.
Nach dieser groben thematischen Einordnung beginnt in Kapitel 3 die Darstellung der eigentlichen Arbeit mit GitHub. Genauer werden Schritt für Schritt das Anlegen und Verwalten eines Accounts und der technische Umgang mit Handlungspunkten („Issues“) erklärt, was bereits die technische Zusammenarbeit mit anderen Benutzer*innen ermöglicht. In Kapitel 4 wird dann der Umgang mit eigenen GitHub-Projekten beschrieben und das Anlegen von Branches, sowie die Übernahme von Änderungen aus diesen durch Merges erläutert. Ebenso wird die Kommunikation und Zusammenarbeit mit Partner*innen über Pull-Requests und Reviews beschrieben.
Kapitel 5 „Rechtliches – Open-Source-Lizenzen“ dient als Einstieg in das Thema Software-Lizenzen; dies mag für ein technisches Fachbuch etwas überraschend sein, da juristische Themen über Software-Entwicklung im engsten Sinne8 klar hinaus gehen. Dennoch ist es bei der Veröffentlichung von Source Code unerlässlich, nachvollziehbar und rechtswirksam zu formulieren, zu welcher Verwendung die öffentlichen Empfänger*innen denn eigentlich berechtigt sind, weil entsprechende Versäumnisse möglicherweise unerwünschte Folgen haben können. Kapitel 6 „Unterstützung für GitHub-Projekte finden“ behandelt schließlich die soziale Interaktion mit anderen GitHub-Benutzer*innen bei der Zusammenarbeit an Repositories. Ebenso wie Kapitel 5 geht Kapitel 6 also erfrischenderweise über den unmittelbaren technischen Kontext hinaus und stellt somit Software-Entwicklung als praktische Tätigkeit in den realen Zusammenhang der „echten Welt“, in der sie täglich stattfindet.
Kapitel 7 beschäftigt sich mit der lokalen Verwaltung von Projekten mit Git (was auch ohne GitHub möglich ist) und kann als Vorbereitung für Kapitel 8 „Git und GitHub im Zusammenspiel“ aufgefasst werden. Dort wird anhand von 4 realistischen Szenarien das Arbeiten sowohl mit Git als auch GitHub detailliert erklärt.
In Kapitel 9 „Der GitHub Marketplace – Actions und Apps“ werden die GitHub-internen Entwicklungs- und Anpassungsmöglichkeiten vorgestellt, während in Kapitel 10 weitere Konfigurationsmöglichkeiten erläutert werden. In Kapitel 11 „Nützliches und Kurioses rund um GitHub“ wird der Kreis etwas weiter gezogen, indem z.B. auf geeignete Text-Editoren9, Quellen zum tieferen Einstieg und Smartphone-Apps für GitHub hingewiesen wird. Schließlich runden eine Kurzreferenz mit den gängigsten Git-Befehlen, exemplarischer Source Code und ein Glossar die Einführung ab. Fast selbstverständlich ist weiteres begleitendes Material (inklusive einer Linksammlung zum Thema) in einem GitHub-Repository online10 verfügbar.
IV. FAZIT
Das vorliegende Fachbuch „GitHub – eine praktische Einführung“ erleichtert einen Einstieg in das Thema GitHub und richtet sich nicht, wie man bei einem Fachbuch leicht zu glauben geneigt ist, ausschließlich an Software-Entwickler*innen. Vielmehr ist es für alle diejenigen äußerst lesenswert, die in größerem Umfang täglich mit Informationstechnologie zu tun haben oder für andere Themen Partner*innen zur technisch unterstützten Zusammenarbeit suchen. Entscheidend ist dabei ausschließlich, dass die Zusammenarbeit auf versionierbaren Dateien stattfindet.Wer mit der FLS GmbH vertraut ist, wird sicher bemerken, dass auf dem Cover ein Raubtier zu finden ist, das durchaus etwas an unser Firmenlogo erinnert. Diese Ähnlichkeit ist jedoch mehr oder weniger zufällig, denn wie aus dem abschließenden Kolophon auf Seite 275 hervorgeht, handelt es sich dabei nicht um die gleiche Spezies. Unser Firmenlogo stellt einen Geparden (Acinonyx jubatus) dar, während auf dem Buchcover ein Ozelot (Leopardus pardalis) zu sehen ist.
Mein großer Dank gilt gleichermaßen Anke Lederer11 und der als Lektorin beteiligten Ariane Hesse12, ohne deren Einsatz die vorliegende spannende praxisnahe Einführung (und damit auch diese Rezension) nicht möglich gewesen wäre.
Auch interessant: Topologische Sortierung