Versionskontrolle – Konfigurationsmanagement

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende Konfigurationsmanagement (KM), insbesondere Versionsmanagement, kennenlernen, verstehen und anwenden können. Ziele des KMs sind die Sicherstellung der Qualität, Verbesserung von Transparenz, Produktivitätssteigerung und Änderungskontrolle. Im Rahmen dieses Lehr-Lern-Arrangements lernen die Studierenden verschiedene Funktionsweisen, Bedeutung und Arten zur Verwendung der Versionsverwaltungssoftware Git kennen.


Übersicht

Ziele:

  • Die Studierenden verstehen den Begriff KM sowie die damit verbundenen Prozesse und können diese erklären.
  • Die Studierenden verstehen Vor- und Nachteile verschiedener Arten von Konfigurationsmanagement.

Didaktische Funktion(en):

  • Einstieg & Aktivierung
  • Informationsaneignung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Partnerarbeit

Anzahl der Lernenden:

ab 1 Person


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson(en) benötigen Kenntnisse zu verschiedenen Softwarevarianten zur Versionsverwaltung (SVN und GIT)

Ausstattung & Medien:

Seminarraum mit Beamer und PCs für die Studierenden


Ablauf
  1. Vorlesung zu Konfigurationsmanagement mit Fokus auf Versionsverwaltung
  2. Online- Tutorial zu Git zum Training von grundlegender Funktionsweise (add, commit, push, clone, merge etc.)
  3. Übungsaufgabe in Partnerarbeit

Beispiele oder Materialien:

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung 4.0 International Lizenz.

Beispielaufgabe:

In dem Repository https://gitlab…. steht ein Text, der aus drei Abschnitten besteht, zur Verfügung. Jeder von Ihnen soll parallel zu den anderen Gruppenmitgliedern auf seinem eigenen Rechner genau einen Abschnitt bearbeiten. Ordnen Sie sich selbst die Abschnitte zu.

a) Loggen Sie sich einmal unter gitlab…. mit ihrer NDS-Kennung ein. Holen Sie sich unser Repository auf ihren lokalen Rechner, indem sie ein Clone von  https://gitlab…. durchführen.

b) Erstellen Sie nun für sich einen eigenen Branch, wechseln Sie zu dem neuen Branch und führen Sie darin folgende Änderungen durch: Korrigieren Sie die enthaltenen Rechtschreibfehler in der Datei ObamasAtomkoffer.txt entsprechend Ihrer vereinbarten Aufgabenteilung pro Abschnitt. Benennen Sie die Datei ObamasAtomkoffer.txt in TrumpsAtomkoffer.txt um.
Fügen Sie in der Datei Newsticker.txt neue News (Nachrichtenmeldung) hinzu. Committen Sie die Änderungen in ihr lokales Repository.

c) Übergeben Sie ihren lokalen Git-Ordner (gepackt) an alle ihre Teamkollegen (E-Mail, USB- Stick, …)

d) Mergen Sie die Repositories ihrer Kollegen auf ihren eigenen Branch.

  • Dazu müssen Sie zuerst die Repositories unter Remotes/Add als Remote Repository hinzufügen und ein Fetch from, sowie anschließend ein Local Merge durchführen.
  • Eventuell auftretende Konflikte lösen Sie auf, indem sie die entsprechende Datei händisch anpassen und speichern. Dann ein „Stage“ durchführen und anschließend wieder in Ihr lokales Repository committen.

e) Vereinbaren Sie, wer in ihrem Team als Manager/in für die finale Version (zusammengeführte Datei) verantwortlich ist. Schicken Sie ihren Git-Ordner mit dem Zustand nach d) an den/die Manager/in.

f) Der/die Manager/in hat die Aufgabe alle ihre verschiedenen Branches zu einem zusammenzuführen und anschließend seinen Git-Ordner als ZIP-Datei gepackt als Gruppenabgabe auf Moodle hochzuladen.

Hinweise zur Vorbereitung:

  • Softwareinstallationen in CIP-Pools oder studentischen PCs
  • Für Studierenden zugängliches Repository

Hinweise zur Nachbereitung:

Keine

Hinweise zur Dauer: 70 Minuten


Kritische Einordnung

Vorteile und Stärken:

Studierende lernen nicht nur für den aktuellen Anwendungsfall, sondern können mit Hilfe des Einsatzes von Versionsverwaltung beispielsweise auch ihre Seminararbeiten oder Abschlussarbeiten verwalten.

Durch das Online Tutorial wird den Studierenden die Angst genommen „etwas schnell kaputt zu machen“

Grenzen und Schwächen:

Vorbereitung eines Repositories, das für Studierende zugänglich ist, könnte je nach Infrastruktur schwierig sein.


Literatur und weiterführende Hinweise

H.G. Schmidt (1983). Problem‐based learning: rationale and description. In: Medical Education, Vol. 17, pp. 11-16

M. J. Prince, R. M. Felder (2006. Inductive teaching and learning methods: Definitions, comparisons, and research bases. In: Journal of Engineering Education, vol. 95, no. 2, pp. 123-138