Versionsverwaltung mit GitAktivitäten & Unterrichtsstrategien
Aktives Ausprobieren von Git zeigt Schülern sofort, warum Versionsverwaltung notwendig ist. Durch das direkte Arbeiten mit Repositories verstehen sie die Bedeutung von Commits, Branches und Konflikten schneller als durch theoretische Erklärungen allein.
Lernziele
- 1Demonstrieren Sie die grundlegenden Git-Befehle (init, add, commit, branch, merge) zur Verwaltung eines Softwareprojekts.
- 2Analysieren Sie die Historie eines Git-Repositorys, um frühere Änderungen und Entwicklungszweige nachzuvollziehen.
- 3Erklären Sie die Ursachen und Lösungsstrategien für Merge-Konflikte in einem kollaborativen Entwicklungsprozess.
- 4Bewerten Sie die Bedeutung von Versionsverwaltungssystemen für die Zuverlässigkeit und Nachvollziehbarkeit von Softwareprojekten.
- 5Erstellen Sie einen Branch für eine neue Funktion, integrieren Sie ihn nach Fertigstellung zurück und dokumentieren Sie den Prozess.
Möchten Sie einen vollständigen Unterrichtsentwurf mit diesen Lernzielen? Mission erstellen →
Gruppen-Setup: Erstes Git-Repo
Teilen Sie die Klasse in kleine Gruppen auf. Jede Gruppe initialisiert ein lokales Repository mit git init, erstellt eine README-Datei und committet erste Änderungen. Nach 10 Minuten pushen sie zu einem gemeinsamen Remote-Repo auf GitHub. Diskutieren Sie die Historie mit git log.
Vorbereitung & Details
Wie kann man Änderungen rückgängig machen, ohne das Projekt zu zerstören?
Moderationstipp: Stellen Sie für die Gruppen-Setup-Aktivität klare Zeitlimits, damit alle Teams gleichzeitig starten und Fortschritte vergleichen können.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Branching-Herausforderung
Jede Gruppe erstellt einen Feature-Branch mit git checkout -b. Zwei Schüler bearbeiten parallel Dateien und committen. Sie mergen den Branch zurück in main und überprüfen mit git status. Beobachten Sie, wie Branches Isolation bieten.
Vorbereitung & Details
Was passiert bei einem Merge-Konflikt?
Moderationstipp: Nutzen Sie während der Branching-Herausforderung eine Whiteboard-Visualisierung der Branches, damit Schüler Konflikte räumlich nachvollziehen.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Konflikt-Simulation
Provizieren Sie einen Merge-Konflikt, indem zwei Schüler dieselbe Zeile in einer Datei ändern. Demonstrieren Sie git merge und die manuelle Auflösung. Gruppen wiederholen dies und committen die Lösung. Reflektieren Sie Ursachen und Vermeidung.
Vorbereitung & Details
Warum ist Open Source für die globale Entwicklung wichtig?
Moderationstipp: Simulieren Sie während der Konflikt-Simulation absichtlich einfache Konflikte, die Schüler mit git status und git diff selbst analysieren können.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Open-Source-Beitrag
Wählen Sie ein einfaches Open-Source-Repo. Schüler forken es, erstellen einen Pull Request mit Änderungen und mergen lokal. Diskutieren Sie globale Kollaboration. Nutzen Sie GitHub Classroom für Tracking.
Vorbereitung & Details
Wie kann man Änderungen rückgängig machen, ohne das Projekt zu zerstören?
Moderationstipp: Fordern Sie bei der Open-Source-Beitragsaktivität Schüler auf, ihre Lösungswege im Unterricht zu präsentieren, um Transparenz und Reflexion zu fördern.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Dieses Thema unterrichten
Beginnen Sie jede Einheit mit einer kurzen Live-Demo, die Schüler nachahmen. Vermeiden Sie lange Erklärungen ohne Praxisbezug, da Git nur durch Ausprobieren verstanden wird. Nutzen Sie Fehler bewusst als Lerngelegenheiten, um die Resilienz der Schüler zu stärken. Forschung zeigt, dass kollaboratives Problemlösen die Behaltensleistung um bis zu 50% steigert.
Was Sie erwartet
Am Ende der Einheit können die Schüler selbstständig ein Git-Repository einrichten, Branches erstellen und Merge-Konflikte lösen. Sie erklären die Bedeutung von Commit-Nachrichten und verstehen, wie Git die Projektgeschichte dokumentiert.
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 Gruppen-Setup-Aktivität denken einige Schüler, Git speichere nur die aktuelle Version des Codes.
Was Sie stattdessen lehren sollten
Fordern Sie die Schüler auf, nach dem ersten Commit git log und git checkout HEAD~1 auszuführen, um die Historie sichtbar zu machen. Diskutieren Sie gemeinsam, wie Commits als Snapshots funktionieren.
Häufige FehlvorstellungWährend der Konflikt-Simulation glauben Schüler, Merge-Konflikte zerstören den Code unwiderruflich.
Was Sie stattdessen lehren sollten
Lassen Sie die Schüler während der Simulation git diff nutzen, um die Konfliktstellen zu identifizieren. Zeigen Sie ihnen anschließend, wie man mit einem Texteditor die Konflikte manuell löst und git add ausführt.
Häufige FehlvorstellungWährend der Open-Source-Beitragsaktivität äußern Schüler, Versionsverwaltung sei nur für Profis nötig.
Was Sie stattdessen lehren sollten
Fordern Sie die Schüler auf, ein einfaches Open-Source-Projekt wie 'First Contributions' zu durchsuchen. Zeigen Sie ihnen konkrete Beispiele, wie Kollaboration mit Git funktioniert, und lassen Sie sie eigene kleine Beiträge planen.
Ideen zur Lernstandserhebung
Nach der Gruppen-Setup-Aktivität notieren die Schüler drei Git-Befehle, die sie heute genutzt haben, und erklären kurz deren Zweck. Zusätzlich formulieren sie eine Frage zu Merge-Konflikten, die sie noch klären möchten.
Während der Branching-Herausforderung präsentieren Sie einen Code-Ausschnitt und fragen: 'Wie würde ein Branch hier helfen, bevor neue Funktionen hinzugefügt werden?' Die Antworten werden mündlich oder schriftlich gesammelt.
Nach der Open-Source-Beitragsaktivität tauschen Schüler ihre Repositories aus. Jeder prüft die Commit-Nachrichten des anderen auf Klarheit und gibt ein kurzes Feedback zur Struktur der Commits. Die Bewertung erfolgt mündlich oder in Stichpunkten.
Erweiterungen & Unterstützung
- Fordern Sie schnelle Schüler auf, ein README.md für ihr Repository zu erstellen und mit Markdown zu formatieren.
- Schüler, die unsicher sind, erhalten eine Schritt-für-Schritt-Anleitung mit visuellen Hilfen für jeden Befehl.
- Vertiefen Sie mit einer Analyse realer Open-Source-Projekte: Wie nutzen Teams wie Linux Git für globale Zusammenarbeit?
Schlüsselvokabular
| Repository | Ein zentraler Speicherort, in dem alle Dateien eines Projekts und deren gesamte Änderungshistorie abgelegt werden. |
| Commit | Ein Schnappschuss des Projektzustands zu einem bestimmten Zeitpunkt, der eine Beschreibung der vorgenommenen Änderungen enthält. |
| Branch | Eine unabhängige Entwicklungslinie, die es ermöglicht, parallel an neuen Funktionen zu arbeiten, ohne den Hauptcode zu beeinflussen. |
| Merge | Der Prozess, bei dem Änderungen aus einem Branch in einen anderen integriert werden, um Code zusammenzuführen. |
| Merge-Konflikt | Eine Situation, die entsteht, wenn Git nicht automatisch entscheiden kann, wie widersprüchliche Änderungen aus verschiedenen Branches zusammengeführt werden sollen. |
Vorgeschlagene Methoden
Planungsvorlagen für Digitale Welten Gestalten: Informatik in der Praxis
Mehr in Software-Projektmanagement
Agile Methoden (Scrum/Kanban)
Die Schülerinnen und Schüler organisieren Teamarbeit in kurzen Entwicklungszyklen mithilfe agiler Methoden.
3 methodologies
Anforderungsanalyse und User Stories
Die Schülerinnen und Schüler ermitteln die Bedürfnisse von Nutzern und formulieren diese als User Stories.
3 methodologies
Software-Testing
Die Schülerinnen und Schüler sichern die Qualität von Software durch Unit-Tests und Integrationstests.
3 methodologies
Dokumentation und Clean Code
Die Schülerinnen und Schüler schreiben lesbaren und wartbaren Programmcode und erstellen technische Dokumentationen.
3 methodologies
Projektabschluss und Pitch
Die Schülerinnen und Schüler präsentieren die Ergebnisse ihrer Softwareprojekte vor einem Publikum.
3 methodologies
Bereit, Versionsverwaltung mit Git zu unterrichten?
Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen
Mission erstellen