• INWT
  • Training
  • Training: Versionskontrolle mit Git und GitHub
Versionskontrolle mit Git und GitHub

Versionskontrolle mit Git und GitHub: Schulung und Training

Voraussetzungen: grundlegende Programmierkenntnisse in R, Python oder einer anderen Sprache

Dauer: ca. 4 Stunden

Git gehört ebenso in das Skill-Set jedes Data Scientists wie Datenvisualisierung oder einfache deskriptive Verfahren. Es ist das führende Tool zur Versionskontrolle und mittlerweile branchenübergreifender Industriestandard geworden. Versionskontrolle ermöglicht es mehreren Personen gemeinsam an einer Codebasis zu arbeiten, Änderungen zu verfolgen und zu sichern. Git ist dezentral organisiert, so dass jede*r Anwender*in immer eine komplette Kopie der Codebasis vorhält. Lokale Änderungen an einem Projekt können dann mit einem Server, beispielsweise als SaaS durch GitHub, synchronisiert werden. GitHub wiederum ist nicht Git. GitHub ist ein Unternehmen, welches 2018 durch Microsoft aufgekauft wurde und als zentraler Service das Hosting von Git-Repositories mit einem Sozialen Netzwerk kombiniert. Es bietet vielfältige Möglichkeiten zur Teamarbeit und ermöglicht es über ein Ticketsystem Supportanfragen zu stellen, mit denen man direkt mit Entwickler*innen in Kontakt treten kann. Mittlerweile gibt es nur noch sehr wenige Open-Source-Tools im Data-Science-Bereich, die sich nicht auf GitHub wiederfinden.

Wir arbeiten bereits seit 2012 mit Git und GitHub. Unser Workflow besteht dabei im Wesentlichen aus den folgenden Schritten:

  1. Zur Bearbeitung einer neuen Aufgabe in einem bestehenden Projekt erstellen wir einen sogenannten Feature-Branch, der einen neuen Zweig (Branch) in der Code-Basis eröffnet.
  2. Ist die Arbeit fertiggestellt, wird ein Pull-Request, also eine Anfrage zur Integration in die Code-Basis, gestellt.
  3. Neben automatischen Tests zur Überprüfung der Code-Qualität (Test-Coverage, Lints, etc.) und Korrektheit der Implementierung (Unit-Tests) ermöglicht es GitHub an dieser Stelle ein Code-Review durchzuführen, das dabei helfen kann, die Code-Qualität zu gewährleisten bzw. zu verbessern.
  4. Ein Code-Review ermöglicht es Wissen im Team durch gezieltes Feedback zum Code zu verteilen. Es basiert auf einem Vier-Augen-Prinzip (der Reviewer muss verstehen, was im Code passiert) und führt zu geringerem Wartungsaufwand, da nachweislich weniger Fehler entstehen.

In unserem Git-Workshop vermitteln wir Ihnen den obigen Workflow und geben Ihnen unsere gesammelte Erfahrung weiter. Die technischen Grundlagen können dabei relativ einfach erlernt werden. Wir werden uns während des Git-Trainings vor allem auf die Nutzung von Git und GitHub in einem Data-Science-Team fokussieren. Teil des Git-Kurses sind folgende Inhalte:

  • Git-Befehle: pull, push, commit, branch, merge, checkout
  • Feature-Branch: Workflow im 1-Personen-Team
  • Feature-Branch: Workflow im x-Personen-Team
  • Code-Reviews