Versionskontrolle mit GitAktivitäten & Unterrichtsstrategien
Aktives Ausprobieren zentraler Git-Befehle hilft Schülerinnen und Schülern, die abstrakten Konzepte von Versionskontrolle greifbar zu machen. Die Kombination aus praktischen Übungen und kollaborativen Methoden zeigt direkt, warum Git mehr ist als ein Backup-Tool und wie es die Teamarbeit strukturiert.
Lernziele
- 1Analysieren Sie die Notwendigkeit von Versionskontrollsystemen für die Nachverfolgbarkeit von Code-Änderungen in Softwareprojekten.
- 2Vergleichen Sie die Funktionsweisen von Branching und Merging in Git zur parallelen Entwicklung und Integration von Features.
- 3Bewerten Sie verschiedene Strategien zur Lösung von Merge-Konflikten in kollaborativen Entwicklungsumgebungen.
- 4Erstellen Sie einen Workflow für ein kleines Entwicklungsteam unter Verwendung von Git-Befehlen wie commit, push, pull und rebase.
Möchten Sie einen vollständigen Unterrichtsentwurf mit diesen Lernzielen? Mission erstellen →
Paararbeit: Erste Git-Commits
Paare klonen ein gemeinsames Repository, bearbeiten separate Dateien und pushen Änderungen mit commit und push. Sie überprüfen den History mit git log. Abschließend besprechen sie, wie Commits die Zusammenarbeit erleichtern.
Vorbereitung & Details
Erklären Sie die Vorteile von Versionskontrollsystemen in der Softwareentwicklung.
Moderationstipp: Bei der Paararbeit 'Erste Git-Commits' gehen Sie herum und achten Sie darauf, dass beide Partner abwechselnd Befehle eingeben, um Rollen klar zu verteilen.
Setup: Variabel; z. B. Außenbereich, Labor oder außerschulische Lernorte
Materials: Materialien für den Versuchsaufbau/die Erfahrung, Reflexionsjournal mit Impulsfragen, Beobachtungsbogen, Leitfaden zur Verknüpfung mit den Lerninhalten
Gruppenrotation: Branching und Merging
Drei Stationen: 1. Branch erstellen und switchen. 2. Änderungen committen und merge request stellen. 3. Merge durchführen und Konflikte simulieren. Gruppen rotieren alle 10 Minuten und dokumentieren Schritte.
Vorbereitung & Details
Analysieren Sie den Workflow von Git für die Zusammenarbeit in Teams.
Moderationstipp: Bei der Gruppenrotation 'Branching und Merging' stellen Sie sicher, dass jede Gruppe nach 10 Minuten wechselt und die neue Gruppe die Änderungen der Vorgänger überprüft.
Setup: Variabel; z. B. Außenbereich, Labor oder außerschulische Lernorte
Materials: Materialien für den Versuchsaufbau/die Erfahrung, Reflexionsjournal mit Impulsfragen, Beobachtungsbogen, Leitfaden zur Verknüpfung mit den Lerninhalten
Whole Class: Konfliktlösungssimulation
Die Klasse teilt ein Repository. Jede Gruppe bearbeitet denselben Branch parallel, löst entstehende Conflicts mit git merge. Gemeinsame Reflexion am Ende über Strategien.
Vorbereitung & Details
Designen Sie eine Strategie zur Konfliktlösung bei der Code-Integration.
Moderationstipp: Bei der Konfliktlösungssimulation simulieren Sie als Lehrkraft bewusst einen Merge-Konflikt und lassen Sie die Klasse in Echtzeit Strategien entwickeln.
Setup: Variabel; z. B. Außenbereich, Labor oder außerschulische Lernorte
Materials: Materialien für den Versuchsaufbau/die Erfahrung, Reflexionsjournal mit Impulsfragen, Beobachtungsbogen, Leitfaden zur Verknüpfung mit den Lerninhalten
Individual: Persönliches Git-Projekt
Jede Schülerin und jeder Schüler initialisiert ein lokales Repo, fügt Dateien hinzu, erstellt Branches und merged sie. Am Ende pushen sie zu GitHub und teilen den Link.
Vorbereitung & Details
Erklären Sie die Vorteile von Versionskontrollsystemen in der Softwareentwicklung.
Moderationstipp: Beim individuellen Git-Projekt geben Sie klare Meilensteine vor (z.B. nach 3 Commits) und bieten Sie gezielte Hilfestellungen bei Fehlern an.
Setup: Variabel; z. B. Außenbereich, Labor oder außerschulische Lernorte
Materials: Materialien für den Versuchsaufbau/die Erfahrung, Reflexionsjournal mit Impulsfragen, Beobachtungsbogen, Leitfaden zur Verknüpfung mit den Lerninhalten
Dieses Thema unterrichten
Erfahrene Lehrkräfte beginnen mit konkreten, sichtbaren Änderungen in kleinen Projekten, bevor sie abstrakte Konzepte wie Branches einführen. Sie vermeiden Frontalunterricht zu Git-Befehlen und setzen stattdessen auf Learning by Doing mit sofortiger Fehleranalyse. Wichtig ist, den Fokus auf den Workflow und die Teaminteraktion zu legen, nicht auf die Syntax der Befehle.
Was Sie erwartet
Erfolgreiche Lernende können grundlegende Git-Befehle sinnvoll einsetzen, Branch-Strategien erklären und Konflikte im Team selbstständig lösen. Sie erkennen Git als Werkzeug zur systematischen Zusammenarbeit und nicht nur zur Speicherung von Dateien.
Diese Aktivitäten sind ein Ausgangspunkt. Die vollständige Mission ist das Erlebnis.
- Vollständiges Moderationsskript mit Lehrkraft-Dialogen
- Druckfertige Schülermaterialien, bereit für den Unterricht
- Differenzierungsstrategien für jeden Lerntyp
Vorsicht vor diesen Fehlvorstellungen
Häufige FehlvorstellungWährend der Paararbeit 'Erste Git-Commits' beobachten Sie, ob Schüler Git nur als Backup-System betrachten, indem Sie gezielt fragen: 'Welche Änderungen werden hier dokumentiert und warum könnte das für Teams wichtig sein?'
Was Sie stattdessen lehren sollten
Nutzen Sie die Paararbeit, um den Unterschied zu einfachem Backup aufzuzeigen: Lassen Sie die Partner bewusst dieselbe Datei ändern und zeigen Sie, wie Git Konflikte erkennt und die Historie nachvollziehbar macht.
Häufige FehlvorstellungWährend der Gruppenrotation 'Branching und Merging' achten Sie darauf, ob Schüler Merge-Konflikte als unlösbar ansehen, indem Sie beobachten, ob sie versuchen, Konflikte zu umgehen statt sie zu analysieren.
Was Sie stattdessen lehren sollten
Führen Sie nach dem Merge eine kurze Reflexion durch: Zeigen Sie den Konflikt im Editor und lassen Sie die Gruppe gemeinsam Strategien entwickeln, z.B. mit git mergetool oder durch manuelle Anpassung.
Häufige FehlvorstellungWährend der Gruppenrotation 'Branching und Merging' fragen Sie gezielt nach, ob Schüler Branches als unnötige Komplikation empfinden, indem Sie beobachten, ob sie nach dem ersten Merge wieder auf den Hauptbranch wechseln.
Was Sie stattdessen lehren sollten
Lassen Sie die Gruppen vor und nach dem Mergen vergleichen: Wie viel einfacher war es, Experimente in einem Branch durchzuführen, ohne den Hauptcode zu gefährden?
Ideen zur Lernstandserhebung
Nach der Paararbeit 'Erste Git-Commits' geben Sie jeder Schülerin und jedem Schüler eine Karte mit einem Git-Befehl (z.B. 'commit', 'branch'). Sie schreiben eine kurze Erklärung, was der Befehl tut und in welchem Szenario er nützlich ist.
Nach der Konfliktlösungssimulation stellen Sie die Frage: 'Stellen Sie sich vor, zwei Entwickler ändern gleichzeitig dieselbe Zeile Code. Wie würden Sie mit Git vorgehen, um diesen Konflikt zu lösen und sicherzustellen, dass beide Änderungen korrekt integriert werden?' Sammeln Sie die Lösungsansätze der Schüler.
Während der Gruppenrotation 'Branching und Merging' beobachten Sie die Gruppen und stellen gezielte Fragen zum Workflow: 'Welchen Branch haben Sie gerade gemerged? Warum haben Sie sich für diesen Ansatz entschieden?' Notieren Sie, ob die Schüler die Branch-Strategie verstehen.
Erweiterungen & Unterstützung
- Fordern Sie schnelle Schülerinnen und Schüler auf, ein komplexeres Szenario zu lösen: Zwei Entwickler arbeiten an derselben Funktion, erstellen separate Branches und müssen diese mit Konflikten integrieren.
- Unterstützen Sie Schüler, die kämpfen, indem Sie ihnen eine Schritt-für-Schritt-Anleitung mit Screenshots der Git-Befehle geben und gemeinsam die ersten Commits durchgehen.
- Vertiefen Sie mit interessierten Lernenden das Thema Rebase versus Merge und lassen Sie sie die Unterschiede in eigenen Projekten ausprobieren.
Schlüsselvokabular
| Repository | Ein zentraler Speicherort, der die gesamte Historie eines Softwareprojekts, einschließlich aller Dateien und Änderungen, enthält. |
| Commit | Eine Momentaufnahme des Projektzustands zu einem bestimmten Zeitpunkt, die eine Beschreibung der vorgenommenen Änderungen enthält. |
| Branch | Eine unabhängige Entwicklungslinie, die es ermöglicht, an neuen Features zu arbeiten, ohne die Hauptcodebasis zu beeinflussen. |
| Merge | Der Prozess, bei dem Änderungen von einem Branch in einen anderen integriert werden, um Code zusammenzuführen. |
| Pull Request | Eine formelle Anfrage, Änderungen von einem Branch in einen anderen zu übernehmen, die oft eine Code-Review beinhaltet. |
Vorgeschlagene Methoden
Planungsvorlagen für Informatik Oberstufe: Komplexe Systeme und Theoretische Grundlagen
Mehr in Software-Engineering und Abschlussprojekt
Einführung in Software-Engineering
Die Schülerinnen und Schüler lernen die Phasen des Softwareentwicklungsprozesses und die Bedeutung von Software-Engineering kennen.
2 methodologies
Anforderungsanalyse und -management
Die Schülerinnen und Schüler lernen, Softwareanforderungen zu erheben, zu dokumentieren und zu verwalten.
2 methodologies
Software-Design und Architektur
Die Schülerinnen und Schüler entwerfen Softwarearchitekturen und wenden Designprinzipien an.
2 methodologies
Agile Softwareentwicklung (Scrum)
Projektmanagement und iterative Entwicklungsprozesse.
3 methodologies
Qualitätssicherung und Testing
Verfahren zur Sicherstellung der Softwarequalität durch Unit-Tests und Code-Reviews.
3 methodologies
Bereit, Versionskontrolle mit Git zu unterrichten?
Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen
Mission erstellen