Versionskontrolle mit Git (Grundlagen)
Die Schülerinnen und Schüler lernen die Grundlagen der Versionskontrolle mit Git kennen, um gemeinsam an Code zu arbeiten.
Über dieses Thema
In diesem Thema machen Schülerinnen und Schüler der Klasse 9 die Grundlagen der Versionskontrolle mit Git bekannt. Sie verstehen, warum Git in Softwareprojekten unverzichtbar ist, besonders bei der Teamarbeit. Die Lernenden erkunden Vorteile wie die Nachverfolgung von Änderungen, die Vermeidung von Konflikten und die einfache Zusammenarbeit. Bezogen auf die KMK-Standards fördert das Thema Kooperieren und das Verständnis von Informatiksystemen. Die Key Questions leiten dazu an, Vorteile zu erklären, grundlegende Befehle wie commit, push und pull zu analysieren sowie die Notwendigkeit für Teams zu begründen.
Praktisch üben die Schüler Git-Befehle in einer lokalen Umgebung oder mit Online-Tools wie GitHub Classroom. Sie erstellen Repositories, committen Änderungen und synchronisieren Code mit pull und push. Solche Aktivitäten verbinden Theorie mit Praxis und bereiten auf reale Projekte vor, wie sie in der Unit 'Software-Projekt: Von der Idee zum Produkt' vorkommen. Lehrer können Demos mit Visualisierungen ergänzen, um Workflows klar zu machen.
Aktives Lernen bringt hier klare Vorteile: Schülerinnen und Schüler arbeiten hands-on mit Git, lösen echte Konflikte und reflektieren Teamprozesse. Das stärkt nicht nur technische Skills, sondern auch Problemlösung und Kooperation, was die Inhalte nachhaltig verankert.
Leitfragen
- Erklären Sie die Vorteile der Versionskontrolle in Softwareprojekten.
- Analysieren Sie die grundlegenden Git-Befehle (commit, push, pull).
- Begründen Sie, warum Versionskontrolle für die Zusammenarbeit im Team unerlässlich ist.
Lernziele
- Analysieren Sie die grundlegenden Git-Befehle (commit, push, pull) und deren Funktion im Workflow.
- Erklären Sie die Vorteile der Versionskontrolle für die Nachverfolgung von Änderungen und die Fehlerbehebung in Softwareprojekten.
- Begründen Sie die Notwendigkeit von Versionskontrolle für die effektive Zusammenarbeit in einem Softwareentwicklungsteam.
- Demonstrieren Sie die Erstellung eines lokalen Git-Repositorys und das Hinzufügen erster Commits.
- Vergleichen Sie die Unterschiede zwischen einem lokalen Repository und einem entfernten Repository (z.B. auf GitHub).
Bevor es losgeht
Warum: Schüler müssen grundlegende Programmierkonzepte verstehen, um Codeänderungen nachvollziehen zu können, die mit Git verwaltet werden.
Warum: Ein grundlegendes Verständnis von Ordnerstrukturen und dem Speichern/Organisieren von Dateien ist notwendig, um die Funktionsweise von Repositories zu begreifen.
Schlüsselvokabular
| Repository (Repo) | Ein zentraler Speicherort für ein Projekt, der alle Dateien und die vollständige Historie der Änderungen enthält. |
| Commit | Ein Schnappschuss des Projektzustands zu einem bestimmten Zeitpunkt, der eine Beschreibung der vorgenommenen Änderungen enthält. |
| Push | Der Vorgang, lokale Commits auf ein entferntes Repository (z.B. auf GitHub) hochzuladen, um sie zu teilen. |
| Pull | Der Vorgang, Änderungen von einem entfernten Repository auf das lokale Repository herunterzuladen und zu integrieren. |
| Branch | Eine unabhängige Entwicklungslinie innerhalb eines Repositorys, die es ermöglicht, an neuen Funktionen zu arbeiten, ohne die Hauptversion zu beeinflussen. |
Vorsicht vor diesen Fehlvorstellungen
Häufige FehlvorstellungGit ist nur für Profi-Programmierer und zu kompliziert für Schüler.
Was Sie stattdessen lehren sollten
Git-Grundlagen sind einfach und essenziell für alle, die Code teilen. Mit grundlegenden Befehlen wie commit und push arbeiten Schüler schnell produktiv.
Häufige FehlvorstellungEin Commit ist wie ein einfaches Backup der Dateien.
Was Sie stattdessen lehren sollten
Ein Commit speichert gezielte Änderungen mit Nachrichten in der Versionshistorie. Er ermöglicht Rückkehr zu früheren Zuständen und Kollaborations-Tracking, mehr als nur Backup.
Häufige FehlvorstellungPush und Pull kopieren nur Dateien, ohne Interaktion.
Was Sie stattdessen lehren sollten
Push sendet Commits an ein Remote-Repository, Pull holt und merged Änderungen. Sie synchronisieren Teamarbeit und verhindern Überschreibungen.
Ideen für aktives Lernen
Alle Aktivitäten ansehenEinführung in Git-Befehle: Demo und Übung
Zeigen Sie eine Live-Demo von init, add, commit, push und pull. Lassen Sie die Schüler ein eigenes Repository erstellen und erste Commits ausführen. Schließen Sie mit einer gemeinsamen Diskussion ab.
Paararbeit: Code-Änderungen mergen
In Paaren bearbeiten Schüler denselben Code parallel, pushen Änderungen und lösen Merge-Konflikte mit pull. Jede Person dokumentiert ihren Workflow. Abschließend teilen sie Erfolge.
Gruppenprojekt: Versionsgeschichte aufbauen
Kleine Gruppen entwickeln ein einfaches Skript, committen regelmäßig und branchen Features. Sie analysieren die Git-Log und präsentieren die Historie. Fördert Teamkoordination.
Individuelle Reflexion: Vorteile notieren
Jede Schülerin und jeder Schüler notiert drei Vorteile von Git basierend auf der Übung und ein Szenario ohne Versionskontrolle. Teilen Sie in Plenum.
Bezüge zur Lebenswelt
- Softwareentwickler bei Unternehmen wie SAP oder Volkswagen nutzen Git täglich, um gemeinsam an komplexen Softwareprodukten wie Betriebssystemen oder Navigationssystemen zu arbeiten und Änderungen nachzuvollziehen.
- Open-Source-Projekte wie der Linux-Kernel oder die Programmiersprache Python werden weltweit von Tausenden von Entwicklern über Plattformen wie GitHub mit Git verwaltet, was die Zusammenarbeit über geografische Grenzen hinweg ermöglicht.
- Webdesigner verwenden Git, um Änderungen an Website-Code (HTML, CSS, JavaScript) zu verfolgen und schnell zu früheren Versionen zurückzukehren, falls Fehler auftreten oder neue Designs getestet werden.
Ideen zur Lernstandserhebung
Geben Sie jedem Schüler eine Karte mit einem Git-Befehl (commit, push, pull). Bitten Sie die Schüler, eine kurze Erklärung zu schreiben, was der Befehl tut und warum er in einem Team wichtig ist.
Stellen Sie folgende Frage an die Klasse: 'Stellen Sie sich vor, Sie und ein Teammitglied arbeiten gleichzeitig an derselben Datei. Welches Problem könnte auftreten und wie hilft Git, dieses Problem zu lösen?' Sammeln Sie Antworten und diskutieren Sie kurz.
Lehrerfrage: 'Warum ist es für ein Softwareprojekt mit mehreren Entwicklern entscheidend, dass jeder Änderungen mit 'commit' speichert und diese regelmäßig mit 'push' teilt?' Fordern Sie die Schüler auf, Beispiele zu nennen, wie dies die Zusammenarbeit erleichtert.
Häufig gestellte Fragen
Was sind die Hauptvorteile der Versionskontrolle mit Git?
Welche Git-Befehle sind für Anfänger zentral?
Wie fördert aktives Lernen dieses Thema?
Wie integriere ich Git in den Unterricht ohne viel Technik?
Planungsvorlagen für Informatik
Mehr in Software-Projekt: Von der Idee zum Produkt
Projektmanagement-Grundlagen
Die Schülerinnen und Schüler lernen grundlegende Konzepte des Projektmanagements kennen, wie Phasen und Rollen.
2 methodologies
Anforderungsanalyse und Planung
Die Schülerinnen und Schüler definieren User Stories und erstellen einen Projektplan für eine eigene Anwendung.
2 methodologies
Agile Entwicklung und Testing
Die Schülerinnen und Schüler programmieren den Prototyp iterativ und führen Modultests durch.
2 methodologies
Benutzerfreundlichkeit (UX/UI)
Die Schülerinnen und Schüler lernen die Grundlagen von User Experience (UX) und User Interface (UI) Design kennen und wenden sie an.
2 methodologies
Präsentation und Evaluation
Die Schülerinnen und Schüler stellen ihre Ergebnisse vor und reflektieren über den Entwicklungsprozess.
2 methodologies