Versionsverwaltung mit Git
Die Schülerinnen und Schüler arbeiten gemeinsam am Quellcode und lösen Konflikte mithilfe von Versionsverwaltungssystemen.
Über dieses Thema
Die Versionsverwaltung mit Git lehrt Schülerinnen und Schüler in Klasse 10, wie sie kollaborativ an Quellcode arbeiten, Änderungen sichern und Konflikte lösen. Sie üben Befehle wie init, add, commit, branch und merge, um zu verstehen, wie Git die Projektgeschichte speichert. Dies beantwortet zentrale Fragen: Wie macht man Änderungen rückgängig, ohne das Projekt zu zerstören? Was passiert bei Merge-Konflikten? Warum ist Open Source global wichtig? Die Inhalte entsprechen den KMK-Standards STD.02 (algorithmisches Problemlösen) und STD.04 (kooperative Arbeitsweisen).
Im Fach Digitale Welten Gestalten verbindet das Thema Programmierung mit Projektmanagement. Schüler erleben, wie Branches parallele Entwicklungen ermöglichen, Merges Code vereinen und Konflikte durch manuelle Auflösung beigelegt werden. Sie erkennen den Wert von Open Source: Globale Beiträge bauen auf geteilter Historie auf. Dies stärkt Teamfähigkeiten und Verständnis für reale Softwareentwicklung.
Aktives Lernen eignet sich hervorragend, da abstrakte Git-Konzepte durch praktische Anwendung konkret werden. Wenn Schüler echte Repositories in Gruppen bearbeiten, Konflikte provozieren und lösen, festigen sie Kompetenzen nachhaltig und lernen aus Fehlern in sicherer Umgebung.
Leitfragen
- Wie kann man Änderungen rückgängig machen, ohne das Projekt zu zerstören?
- Was passiert bei einem Merge-Konflikt?
- Warum ist Open Source für die globale Entwicklung wichtig?
Lernziele
- Demonstrieren Sie die grundlegenden Git-Befehle (init, add, commit, branch, merge) zur Verwaltung eines Softwareprojekts.
- Analysieren Sie die Historie eines Git-Repositorys, um frühere Änderungen und Entwicklungszweige nachzuvollziehen.
- Erklären Sie die Ursachen und Lösungsstrategien für Merge-Konflikte in einem kollaborativen Entwicklungsprozess.
- Bewerten Sie die Bedeutung von Versionsverwaltungssystemen für die Zuverlässigkeit und Nachvollziehbarkeit von Softwareprojekten.
- Erstellen Sie einen Branch für eine neue Funktion, integrieren Sie ihn nach Fertigstellung zurück und dokumentieren Sie den Prozess.
Bevor es losgeht
Warum: Ein grundlegendes Verständnis von Code ist notwendig, um Änderungen daran nachvollziehen und verwalten zu können.
Warum: Schüler müssen wissen, wie Dateien und Ordner organisiert und gespeichert werden, um die Konzepte von Repositories und Projektstruktur zu verstehen.
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. |
Vorsicht vor diesen Fehlvorstellungen
Häufige FehlvorstellungGit speichert nur die aktuelle Version des Codes.
Was Sie stattdessen lehren sollten
Git erfasst jeden Commit als Snapshot der gesamten Historie, abrufbar mit git checkout. Aktive Übungen wie das Erkunden von git log in Gruppen helfen Schülern, diese Schichten zu visualisieren und rückgängig zu machen, was das Verständnis vertieft.
Häufige FehlvorstellungMerge-Konflikte zerstören den Code unwiderruflich.
Was Sie stattdessen lehren sollten
Konflikte markieren nur überlappende Änderungen, die manuell gelöst werden. Peer-Diskussionen bei der Simulation zeigen, wie git merge hilft, und fördern Problemlösung. Schüler lernen, Branches zu nutzen, um Risiken zu minimieren.
Häufige FehlvorstellungVersionsverwaltung ist nur für Profis nötig.
Was Sie stattdessen lehren sollten
Jedes kollaborative Projekt profitiert davon, wie Open-Source-Beispiele zeigen. Hands-on mit echten Repos demonstriert den Nutzen sofort und motiviert Schüler, Git routinemäßig einzusetzen.
Ideen für aktives Lernen
Alle Aktivitäten ansehenGruppen-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.
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.
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.
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.
Bezüge zur Lebenswelt
- Softwareentwicklerteams bei großen Technologieunternehmen wie Google oder Microsoft nutzen Git täglich, um gemeinsam an komplexen Betriebssystemen oder Anwendungen wie Android oder Windows zu arbeiten. Sie verwenden Branches für neue Features und beheben Fehler über Pull Requests.
- Open-Source-Projekte wie der Linux-Kernel oder die Programmiersprache Python werden von Tausenden von Entwicklern weltweit über Plattformen wie GitHub verwaltet. Git ermöglicht es ihnen, Beiträge zu verfolgen, Code zu überprüfen und die Projektentwicklung transparent zu gestalten.
Ideen zur Lernstandserhebung
Die Schüler erhalten die Aufgabe, drei Git-Befehle zu nennen, die sie heute gelernt haben, und kurz zu erklären, wofür jeder einzelne verwendet wird. Zusätzlich sollen sie eine Frage notieren, die sie noch zum Thema Merge-Konflikte haben.
Der Lehrer präsentiert einen einfachen Code-Ausschnitt und fragt: 'Wie würdet ihr diesen Code sichern, bevor ihr eine neue Funktion beginnt?' oder 'Was ist die Funktion eines Branches in diesem Szenario?' Die Antworten werden mündlich oder kurz schriftlich abgefragt.
Zwei Schüler arbeiten an einem kleinen gemeinsamen Projekt mit Git. Nach Abschluss einer kleinen Aufgabe tauschen sie ihre Repositories aus. Jeder Schüler prüft die Commit-Nachrichten des anderen auf Klarheit und Vollständigkeit und gibt ein kurzes mündliches Feedback zur Struktur der Commits.
Häufig gestellte Fragen
Wie löst man einen Merge-Konflikt in Git?
Warum ist Git für Open Source wichtig?
Wie kann man Änderungen in Git rückgängig machen?
Wie hilft aktives Lernen beim Verständnis von Git?
Planungsvorlagen für Informatik
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