Versionskontrolle • Profi-Werkzeug

Git & Versionskontrolle: Deine Programmier-Zeitmaschine 🌿⏱️

Lerne, wie du deinen Code versionierst, Spielstände sicherst und Änderungen in VS Code & im Terminal verwaltest.

📂 Dateien dieser Einheit:
💻 In Web-IDE öffnen → 📖 README.md

1. Was ist Git und warum braucht es jede(r) Entwickler(in)?

Hast du schon mal Dateien so genannt wie git_uebung.py, aufgabe_final.py, aufgabe_final2_wirklich_fertig.py? 😅 Genau dieses Chaos verhindert Git!

🎮 Die Spielstand- & Zeitmaschinen-Analogie:
  • Ein Commit ist wie ein Speicherpunkt in einem Computerspiel: Wenn du vor einem Bosskampf stehst (oder eine neue Funktion ausprobierst) und dein Code kaputtgeht, kannst du mit einem Klick genau zu diesem perfekten Zustand zurückreisen!
  • Git dokumentiert die Geschichte: Du siehst immer genau, wer wann welche Zeile verändert hat und warum.

2. Der Git-Lebenszyklus: Die 3 Stationen eines Codes

Wenn du Code in Git sicherst, durchläuft er drei Stationen:

📝

1. Arbeitsbereich (Working Tree)

Du tippst und speicherst deine Dateien ganz normal im Editor.

📦

2. Bereitstellung (Staging Area)

Mit git add . wählst du aus, welche Dateien in den nächsten Spielstand gepackt werden.

💾

3. Commit (Speicherpunkt)

Mit git commit -m "..." schnürst du das Paket fest und gibst ihm eine aussagekräftige Nachricht.

🚀 Der letzte Schritt: git push (In die Cloud laden):
Mit git push schickst du deine lokalen Commits an den Git-Server (z.B. dein Aufgaben-Repository), damit dein Lehrer oder dein Nachhilfelehrer deinen Code einsehen kann.

3. 🖥️ Git visuell in VS Code bedienen

Du musst Befehle nicht zwingend im Terminal tippen – VS Code hat eine fantastische Quellcodeverwaltung eingebaut:

  1. Drücke Strg + Shift + G (Mac: Cmd + Shift + G) oder klicke links auf das Ast-/Verzweigungs-Symbol (Quellcodeverwaltung).
  2. Änderungen sehen (Diff): Klicke auf eine geänderte Datei. VS Code öffnet einen geteilten Bildschirm: Links siehst du den alten Code (rot) und rechts deinen neuen Code (grün)!
  3. Stagen: Klicke neben der Datei auf das +-Symbol (Staged Changes).
  4. Committen: Tippe oben ins Textfeld eine kurze Nachricht (z.B. "Löse Aufgabe in Kapitel 05") und klicke auf das blaue Häkchen ✓ Commit.
  5. Pushen: Klicke auf den blauen Button "Sync Changes" oder unten links auf das Wolken-/Drehsymobl. Fertig! 🎉

4. ⌨️ Das Git-Terminal Cheat-Sheet

Wenn du lieber im Terminal arbeitest (Strg + `), sind das die 5 wichtigsten Befehle deines Entwickler-Lebens:

Befehl Was er macht
git status Zeigt an, welche Dateien geändert oder neu erstellt wurden.
git add . Packt alle aktuellen Änderungen in die Staging-Area.
git commit -m "Text" Erstellt einen neuen Speicherpunkt mit deiner Nachricht.
git push Lädt alle neuen Commits auf den Server hoch.
git log --oneline Zeigt die Liste aller bisherigen Commits kurz und übersichtlich.

5. 🙈 Was ist die .gitignore-Datei?

Nicht jede Datei soll in Git gespeichert werden (z.B. temporäre Cache-Dateien wie __pycache__ oder Passwörter). In einer Textdatei namens .gitignore im Hauptordner schreibt man Dateinamen auf, die Git einfach vollständig ignorieren soll.

Beispiel: Typische .gitignore für Python
__pycache__/
*.pyc
.DS_Store
.venv/

6. 🧪 Dein Git-Mitmach-Check

Öffne die Datei 04c_git_und_versionskontrolle/git_uebung.py und führe deinen ersten eigenen Commit durch:

🏆 Bravo! Du beherrschst nun echte Entwickler-Tools!
Ab jetzt kannst du jedes gelöste Kapitel wie ein Profi committen. Weiter geht's mit Kapitel 05 (Objekte kombinieren)!