Training

Git für Umsteiger

This training is aimed at developers who already know other version control systems and are looking for a hands-on experience to get to know Git.

In diesem Workshop schauen wir uns an Hand praktischer Beispiele die Grundlagen von Git an und diskutieren verschiedene Arbeitsweisen, mit welchen Sie Ihre Softwareentwicklungsprozesse modern und effizient gestalten können.

Schulungsinhalte

Folgende Themen sind Teil der Schulung. Auf Wunsch können die Inhalte auf Ihre besonderen Bedürfnisse zugeschnitten werden.

Einführung in Git

Der erste Teil der Schulung beschäftigen wir uns mit der Historie, der Philosophie und den Grundlagen von Git. Dabei erläutern wir Ihnen die Nutzung des Werkzeugs git auf der Kommandozeile sowie die wichtigsten Befehle. Außerdem betrachten wir die grafische Darstellung des Repositorys mit Hilfe der Anwendung gitk.

Die verschiedenen Stationen einer Änderung

In diesem Abschnitt bringen wir Ihnen die technischen Aspekte von Git und den Umgang mit Änderungen näher. Im Details sprechen wir über die unterschiedlichen Stationen, die eine Änderung am Code durchlaufen kann: Arbeitsbereich, Index, lokales Repository und remote Repository. Dabei wird u. a. auch auf den Unterschied zu Versionsverwaltungssystemen wie Subversion (svn) eingegangen.

Branching-Strategien

Um die zuvor gelernten Fähigkeiten auch in komplexeren Softwareprojekten effizient einsetzen zu können, lernen Sie verschiedene Strategien für das Arbeiten mit Branches in Git. Dazu zählen beispielsweise der GitFlow als Branching-Modell, aber auch das Arbeiten mit Merge Requests und Code Reviews.

Branches in Git
Branches in Git

Das Markdown-Format und die README.md-Datei

Für die Dokumentation von Git Projekten wird sehr häufig das Markdown-Format verwendet. Damit wird die README.md befüllt, welche den Nutzern einer Software Informationen zur Verwendung oder Installation derselben anbietet. Nahezu alle modernen Git-Frontends können diese Datei inzwischen automatisch rendern.

Continuous Integration und Continuous Deployment (CI/CD)

Durch die Nutzung von Git ergeben sich viele Möglichkeiten zum Aufbau einer Continuous-Integration- oder Continuous-Deployment-Umgebung. In diesem Abschnitt sehen wir uns den praktischen Umgang mit GitLab Pipelines an und geben einen Einblick in ähnliche Technologien anderer Anbieter, wie bspw. Jenkins oder Bitbucket Pipelines von Atlassian.

Optionale Themen

Am Ende des Trainings können wir noch einen kurzen Blick auf verfügbare UI-Werkzeuge für Git werfen. Auf Wunsch sprechen wir auch Themen wie das Signieren von Commits oder das Arbeiten mit Git im Open-Source-Umfeld an.

Voraussetzungen und Durchführung

Teilnehmende benötigen einen eigenen Rechner, auf dem das Kommandozeilenwerkzeug git sowie ein Texteditor nach Wahl bereits installiert sind.

Für die praktischen Übungen werden die Teilnehmenden in Zweiergruppen aufgeteilt. Jede Gruppe arbeitet mit einem eigenen Git-Repository. Sofern nichts anderes vereinbart ist, benutzen wir für die praktischen Übungen den öffentlichen Server von gitlab.com. Dafür sollten sich alle Teilnehmenden im Vorfeld einen Account bei gitlab.com anlegen.

Je nach Absprache bei Buchung können weitere Werkzeuge notwendig sein und müssen vorab installiert werden.

Ziele

  • Vermittlung eines Grundverständnisses für die Philosophie von Git
  • Schulung des Umgangs mit dem Kommandozeilenwerkzeug git durch praktische Übungen
  • Vorstellung erprobter Arbeitsweisen
  • Grundlagenvermittlung von CI/CD mit Git

Bei Fragen zu diesem Training wenden Sie sich bitte an training@innoq.com.