Zum Inhalt springen
Informatik · Klasse 12 · Objektorientierte Modellierung und Software-Engineering · 1. Halbjahr

Versionskontrolle mit Git

Die Schülerinnen und Schüler nutzen Git zur Versionskontrolle und kollaborativen Entwicklung von Softwareprojekten.

KMK BildungsstandardsKMK: Sekundarstufe II - Kooperieren und KommunizierenKMK: Sekundarstufe II - Problemlösen und Handeln

Über dieses Thema

Versionskontrolle mit Git ermöglicht Schülerinnen und Schülern in der Oberstufe, Softwareprojekte kollaborativ zu entwickeln und zu verwalten. Sie lernen grundlegende Befehle wie commit, push und pull, um Änderungen lokal zu speichern, remote zu übertragen und Aktualisierungen abzurufen. Branches erlauben parallele Entwicklungsstränge, was Konflikte minimiert und Experimente sicher macht. Diese Tools unterstützen die gemeinsame Arbeit an einer Codebasis und fördern ein professionelles Arbeitsverhalten.

Im Kontext der KMK-Standards Sekundarstufe II stärkt das Thema Kooperieren und Kommunizieren durch Pull Requests und Code-Reviews, während Problemlösen und Handeln durch Merge-Konflikte und Branch-Management geübt werden. Schülerinnen und Schüler erleben reale Szenarien der Softwareentwicklung, wie sie in Unternehmen üblich sind, und entwickeln Verantwortung für gemeinsamen Code.

Aktives Lernen eignet sich besonders für Git, da praktische Übungen mit realen Repositories abstrakte Konzepte wie Versionsgeschichte und Kollaboration greifbar machen. Schülerinnen und Schüler internalisieren Prozesse durch Wiederholung und Fehlversuche, was langfristiges Verständnis schafft und Motivation steigert.

Leitfragen

  1. Wie unterstützen Tools wie Git die kollaborative Arbeit an einer gemeinsamen Codebasis?
  2. Erklären Sie den Unterschied zwischen 'commit', 'push' und 'pull' in Git.
  3. Beurteilen Sie die Risiken und Vorteile der Nutzung von Branches in der Softwareentwicklung.

Lernziele

  • Erklären Sie die Kernkonzepte von Git: Repository, Commit, Branch, Merge, Push und Pull.
  • Demonstrieren Sie die Erstellung eines lokalen Git-Repositorys und das Hinzufügen von Dateien.
  • Analysieren Sie die Unterschiede zwischen der Arbeit auf dem Haupt-Branch und der Nutzung von Feature-Branches.
  • Bewerten Sie die Effektivität von Git für die kollaborative Softwareentwicklung anhand eines simulierten Projekts.
  • Erstellen Sie einen einfachen Workflow für die gemeinsame Bearbeitung eines Projekts unter Verwendung von Pull Requests.

Bevor es losgeht

Grundlagen der Programmierung

Warum: Ein grundlegendes Verständnis von Programmcode und Projektstrukturen ist notwendig, um die Notwendigkeit und Funktionsweise der Versionskontrolle nachvollziehen zu können.

Dateisysteme und Ordnerstrukturen

Warum: Schülerinnen und Schüler müssen wissen, wie Dateien und Verzeichnisse organisiert sind, um die Konzepte von Repositories und Dateimanipulationen in Git zu verstehen.

Schlüsselvokabular

RepositoryEin Verzeichnis, das alle Dateien eines Projekts sowie die gesamte Versionshistorie enthält. Es ist das Herzstück der Git-Versionskontrolle.
CommitEin Schnappschuss des Projektzustands zu einem bestimmten Zeitpunkt. Jeder Commit hat eine eindeutige ID und eine beschreibende Nachricht.
BranchEine unabhängige Entwicklungslinie, die vom Haupt-Code abzweigt. Dies ermöglicht parallele Arbeit an neuen Funktionen oder Fehlerbehebungen, ohne den stabilen Code zu beeinflussen.
MergeDer Prozess, bei dem die Änderungen von einem Branch in einen anderen integriert werden. Dies kann zu Konflikten führen, wenn beide Branches dieselben Codezeilen geändert haben.
Pull RequestEine Anfrage, Änderungen von einem Branch in einen anderen zu integrieren. Dies ist ein zentraler Mechanismus für Code-Reviews und die Zusammenarbeit in Teams.

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungEin Commit speichert Änderungen sofort remote.

Was Sie stattdessen lehren sollten

Commits sind lokal und müssen mit push übertragen werden. Aktive Übungen mit lokalen Repos und Fehlversuchen bei vergessenen Pushes zeigen den Unterschied klar. Peer-Diskussionen vertiefen das Verständnis.

Häufige FehlvorstellungBranches sind vollständige Kopien des Projekts.

Was Sie stattdessen lehren sollten

Branches teilen die Historie und divergieren nur bei neuen Commits. Praktische Branch-Erstellung und Merges demonstrieren Effizienz. Gruppenarbeit hilft, Vorteile gegenüber Kopien zu erkennen.

Häufige FehlvorstellungPull Requests sind nur für Reviews nötig, nicht essenziell.

Was Sie stattdessen lehren sollten

Pull Requests ermöglichen kollaborative Überprüfung vor Merge. Simulationsübungen mit Reviews lehren Kommunikation. Schülerinnen und Schüler sehen Risiken unreviewed Merges in Team-Szenarien.

Ideen für aktives Lernen

Alle Aktivitäten ansehen

Bezüge zur Lebenswelt

  • Softwareentwickler bei Unternehmen wie Google oder Microsoft nutzen Git täglich, um an komplexen Betriebssystemen, Webanwendungen und mobilen Apps zu arbeiten. Sie verwenden Branches für neue Features und beheben Fehler, bevor sie Änderungen in die Hauptversion integrieren.
  • Open-Source-Projekte auf Plattformen wie GitHub, beispielsweise die Entwicklung des Linux-Betriebssystems oder der Programmiersprache Python, basieren vollständig auf Git. Freiwillige aus aller Welt tragen durch das Erstellen von Pull Requests zur Weiterentwicklung bei.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Die Schülerinnen und Schüler erhalten die Aufgabe, drei Git-Befehle zu nennen und jeweils kurz zu erklären, wofür sie verwendet werden. Zusätzlich sollen sie einen Satz dazu schreiben, warum die Arbeit mit Branches sinnvoll ist.

Kurze Überprüfung

Stellen Sie eine Reihe von Szenarien vor, z.B. 'Sie möchten eine neue Funktion entwickeln, ohne den aktuellen stabilen Code zu gefährden.' Lassen Sie die Schülerinnen und Schüler den passenden Git-Befehl oder das passende Konzept (z.B. 'einen neuen Branch erstellen') auf einem Zettel notieren und einsammeln.

Gegenseitige Bewertung

Die Schülerinnen und Schüler arbeiten in Kleingruppen an einer kleinen gemeinsamen Aufgabe mit Git. Nach Abschluss bewerten sie gegenseitig, wie gut die Kommunikation und die Nutzung der Git-Befehle im Team funktioniert haben, anhand einer kurzen Checkliste (z.B. 'Wurden Commits sinnvoll benannt?', 'Gab es Konflikte und wie wurden sie gelöst?').

Häufig gestellte Fragen

Was ist der Unterschied zwischen commit, push und pull in Git?
Commit speichert Änderungen lokal in der Versionshistorie. Push überträgt Commits ins remote Repository. Pull holt remote Änderungen und integriert sie lokal. Diese Befehle bilden den Kern der kollaborativen Workflow: lokal arbeiten, remote teilen, synchronisieren. Praktische Übungen mit kleinen Repos festigen den Ablauf und verhindern gängige Fehler.
Wie unterstützt Git kollaborative Softwareentwicklung?
Git ermöglicht parallele Arbeit durch Branches, zentrale Koordination via remote Repos und Konfliktlösung durch Merges. Pull Requests fördern Code-Reviews und Kommunikation. In der Oberstufe lernen Schülerinnen und Schüler, wie Teams effizient kooperieren, was KMK-Standards zu Kooperation erfüllt und reale Projekte vorbereitet.
Wie hilft aktives Lernen beim Verständnis von Git?
Aktives Lernen mit realen Repositories lässt Schülerinnen und Schüler Befehle ausführen, Fehler machen und Konflikte lösen. Gruppenprojekte simulieren Teamarbeit, machen abstrakte Konzepte wie Branches erfahrbar. Diskussionen nach Übungen vertiefen Reflexion, steigern Retention und motivieren durch Erfolge. So entsteht praxisnahes Kompetenz.
Welche Risiken und Vorteile haben Branches in Git?
Vorteile: Isolation von Features, einfache Experimente, klare Historie. Risiken: Komplexität bei vielen Branches, Merge-Konflikte. Schülerinnen und Schüler bewerten dies durch Branching-Übungen und Reviews. Das fördert Problemlösungsfähigkeiten und lehrt Best Practices für nachhaltige Entwicklung.

Planungsvorlagen für Informatik