Incom ist die Kommunikations-Plattform der Fachhochschule Potsdam mehr erfahren

Git for Beginners

Auszug aus der Bachelorthesis “Git for Beginners”: Vermittlung von komplexen Themen mit Hilfe von interaktiven Web­-Tutorials am Beispiel der Versionierung mit Git.

Einleitung

In den letzten Jahrzehnten sind Computer in Form von Desktop-PCs, Laptops, Tablets und Smartphones in viele Bereich unseres täglichen Lebens vorgedrungen, egal ob beruflich oder privat. Betrachtet man alleine die Nutzung der Computer in Deutschland im beruflichen Kontext, so geben 2016 [91 % der Unternehmen](https://de.statista.com/statistik/daten/studie/151762/umfrage/anteil-der-unternehmen-mit-nutzung-von-computern-in-deutschland/ „Statista: Anteil der Unternehmen in Deutschland mit Nutzung von Computern in den Jahren 2005 bis 2016“) an, dass PCs zum Einsatz kämen. Insgesamt sind es in Deutschland 2017 [89 % der Befragten](https://de.statista.com/statistik/daten/studie/3102/umfrage/quote-der-computernutzer-in-deutschland-seit-2004/ „Statista: Anteil der Computernutzer* in Deutschland von 2004 bis 2017“), die regelmäßig einen Computer nutzen.

Bei der Nutzung all dieser Computer entsteht vor allem eines: Daten. In Form von Dateien speichern wir alles ab, was nicht auf echtem Papier entstanden ist. Von Liebesbriefen zu Rechnungen, von Fotos zu Videos, von Code zu Illustration und Design. Die Anzahl der Dateiformate scheint endlos.

So schnell, wie Dateien am Rechner entstehen, so schnell gehen sie jedoch auch wieder verloren. In einem Interview mit neun Befragten gab jeder der Probanden/-innen an, Sicherungskopien von Dateien über verschiedene Datei- oder Ordnernamen und häufig auf externen Speichermedien anzufertigen. Zusammen mit der Cloud können solche Sicherheitskopien auch auf einem entfernten Server im Internet gespeichert und mit anderen geteilt werden.
Doch gerade durch die zunehmende kollaborative Arbeit an Dateien über das Internet ist ein Datenverlust auch über die Cloud nicht ausgeschlossen. Versehentliches Bearbeiten alter Versionen und fehlende Abmachungen innerhalb des Teams sind weitere Gründe, warum Dateien in einer manuellen Verwaltung verloren gehen können.

Eine automatische Organisation von Versionen bieten hingegen Versionsverwaltungen. Neben der Möglichkeit, ältere Versionen wieder herzustellen, stellen diese meist auch erweiterte Funktionen zur kollaborativen Arbeit an Dateien zur Verfügung.
Git ist eine dieser Versionsverwaltungen, die standardmäßig über die Kommandozeile gesteuert wird. Trotz [hoher Popularität in der Softwareentwicklung](https://www.wired.com/2015/03/github-conquered-google-microsoft-everyone-else/ „Cade Metz: How GitHub Conquered Google, Microsoft, and Everyone Else“) scheint die Software außer­halb dieser Szene jedoch kaum bekannt.
Das ist verwunderlich, ruft man sich die Zahlen der genutzten Computer im privaten und beruflichen Kontext vor Augen und die Tatsache, dass viele bereits eine einfache Methode der Versionsverwaltung über Dateinamen betreiben.

Dafür verantwortlich könnte eine flache Lernkurve sein, denen sich Anfänger beim Lernen von Git gegenüber sehen. Schaut man sich bestehende Web-Tutorials zum Thema Git genauer an, werden Erfahrungen mit der Kommandozeile vorausgesetzt, um mit Git arbeiten zu können. Zudem sind die Darstellungsmöglichkeiten innerhalb der Kommandozeile beschränkter als über ein erweitertes, grafisches Interface. Begriffe, wie Staging Area oder Repository sind vielen Nutzern/-innen neu und lassen sich nicht intuitiv aus bekannten Datensicherungs-Modellen ableiten. Vorteile und richtige Nutzung erschließen sich möglicherweise ebenfalls erst nach längerer Verwendung von Git.

In meiner Arbeit möchte ich deshalb überprüfen, wie ein Inter­face helfen kann, komplexe Inhalte, wie das Erlernen von Git, interaktiv erfahrbar und verständlich zu vermitteln. Über einen Nutzertest mit bestehenden Web-Tutorials sammle ich Erkenntnisse über Probleme im Erlernen der Software. Im Web-Tutorial “Git for Beginners” zeige ich, wie gewonnene Erkenntnisse in den Aufbau von interaktiven Lerninhalten und die Darstellung der Begriffszusammenhänge und Zustände in Git einbezogen werden können, wie Anfängern/-innen ein einfacher Einstieg in ein komplexes Thema wie der Versionierung mit Git ermöglicht werden kann.


Die komplette Bachelorthesis findet sich unter [“Projekt Daten” → “Material” als PDF.](https://fhp.incom.org/action/open-file/269690 „Bachelorthesis “Git for Beginners” von Lennart Hildebrandt“)


Entwürfe

Die folgenden Screens bilden einen Ausschnitt aus der praktischen Arbeit.


Einleitungstext zur Relevanz des Themas Versionierung


Anhand einfacher Interaktionen erlernen Besucher/-innen das Interaktionskonzept des Tutorials und einfaches Grundwissen der Versionierung.


Nutzer/-innen erstellen eigene Versionen (Commits).


Einleitung in die Konsole


Lineare Versionierung im Team über eine Cloud


Steuerung von Commits und Branches über die Konsole

Ein Projekt von

Art des Projekts

Bachelorarbeit

Betreuung

Prof. Constanze Langer Prof. Dr. Marian Dörk

Entstehungszeitraum

Wintersemester 2017 / 2018