Tech-Basics für moderne Teams
Dein Code hat eine Timeline.
Lerne sie zu kontrollieren.
Kennt ihr das?
"Die KI hat 20.000 Zeilen geschrieben — und weiß selbst nicht mehr was vorher war."
"Ein Prompt hat alles kaputt gemacht."
"Welche Version war nochmal die funktionierende?"
Du brauchst eine Zeitmaschine für deinen Code.
Warum Git?
Claude schreibt 200 Zeilen auf einmal.
Du brauchst Savepoints — damit du jederzeit zurückkannst.
Ein Prompt macht alles kaputt.
Du brauchst Zeitreise — zurück zum letzten funktionierenden Stand.
Du willst zwei Ideen gleichzeitig ausprobieren.
Du brauchst parallele Timelines — experimentieren ohne Risiko.
Git gibt dir all das. Es ist die Zeitmaschine für deinen Code.
Die gute Nachricht
Sag deinem Claude Code einfach:
...und alles was in dieser Präsentation kommt, passiert von alleine.
Aber du solltest verstehen was dabei passiert. Deshalb:
Das Konzept
Stell dir vor, jeder wichtige Moment deines Projekts wäre festgehalten — und du könntest jederzeit dorthin zurückreisen.
Jeder Punkt = ein Commit (Savepoint)
Die Linie = die Geschichte deines Codes
Doc Brown brauchte einen DeLorean. Du brauchst nur Git.
Commits
Ein Foto deines gesamten Projekts — zu einem bestimmten Zeitpunkt. Unveränderlich. Sicher.
Snapshot des gesamten Projekts
Nicht nur eine Datei — alles auf einmal.
Eine Beschreibung was du gemacht hast
Damit du (und andere) später verstehen warum.
Unveränderlich
Was einmal committed ist, ist sicher. Für immer.
Faustregel: Funktioniert etwas? Sofort committen. Bevor der nächste Prompt alles ändert.
Zeitreise
Wie Ctrl+Z — aber für dein ganzes Projekt. Und nicht nur einen Schritt. Zu jedem Punkt in der Geschichte.
Letzten Commit rückgängig
Sicher — erstellt einen neuen "Rückgängig-Commit"
Zu altem Stand springen
Schau dir an wie dein Code vor 3 Tagen aussah
Branches
Ein Branch ist eine alternative Timeline. Dein Ordner auf deinem Computer zeigt immer nur eine davon. Du wechselst zwischen ihnen — wie Marty zwischen den Realitäten in Zurück in die Zukunft.
git checkout main
Dein Ordner zeigt die Main-Timeline. Alles was auf dem Feature-Branch passiert ist, ist unsichtbar.
git checkout feature
Dein Ordner wechselt in die Feature-Timeline. Alle deine Experimente sind da.
Merge
Experiment funktioniert? Merge — die Timelines werden wieder eins. Experiment gescheitert? Branch löschen. Main war nie in Gefahr.
Was wenn beide Timelines dieselbe Stelle ändern? → Konflikt. Klingt schlimm, ist es nicht. Git zeigt dir beide Versionen nebeneinander — du entscheidest welche du behältst.
Lokal & Cloud
Lokal
dein Rechner
Remote (GitHub)
die Cloud-Kopie
Die Praxis
Was soll in den Savepoint?
Savepoint setzen
In die Cloud sichern
Stand aus der Cloud holen
→ Alles andere (branch, merge, revert, log) lernt man wenn man es braucht.
Der Workflow
Neue Timeline für dein Feature
Mit KI coden, ausprobieren
Funktioniert was? Savepoint!
Hochladen, Review, Merge
Agentic Best Practice
Peter Steinberger macht 600 Commits am Tag mit KI-Agents. Sein Prinzip: Jede Änderung — egal wie klein — ist ein eigener Commit.
Blast Radius kontrollieren
KI macht was kaputt? Du nimmst genau den einen Commit zurück — nicht das ganze Feature.
Kontext für die KI
Die KI versteht ihren eigenen Code besser wenn jeder Commit eine Sache beschreibt. Weniger Kontext-Verlust.
Debugging wird trivial
"Welcher Commit hat den Bug eingeführt?" — bei atomaren Commits ist die Antwort sofort klar.
"Every change, no matter how small, should be an atomic git commit. This makes it possible for agents to revert and iterate without losing context." — Peter Steinberger
Best Practices
Fetter Commit
Atomic Commits
Nichtssagend
Klar & hilfreich
Prefix: feat: neu · fix: bugfix · style: aussehen · docs: texte
Aufpassen
Secrets & Keys
Einmal auf GitHub — für immer im Internet. Bots scannen Repos in Sekunden.
.env.example ins Repo, echte Keys als Environment Variables
Große Dateien
Git speichert jede Version. 500 MB × 10 Commits = 5 GB Repo.
Cloud Storage (S3, R2) oder Git LFS
Generiertes
Wird automatisch erzeugt. Nur die Anleitung (package.json) ins Repo.
In .gitignore eintragen, jeder macht bun install lokal
.gitignore — eine Datei die Git sagt was es ignorieren soll. Regelt alles automatisch.
Kein Terminal nötig
Grafisches Tool direkt von GitHub. Perfekt zum Einstieg.
desktop.github.com
Git direkt integriert. Klick auf das Branch-Icon unten links.
Empfehlung für Vibe Coder
Dateien im Browser bearbeiten. PRs reviewen. Issues tracken.
github.com
Bonus: Claude Code, Cursor und Windsurf haben Git direkt eingebaut — einfach fragen.
Bei uns im Unternehmen
Gemeinsame GitHub Organisation. Jedes TAWO-Projekt gehört dorthin — nicht ins persönliche Profil.
Gemeinsamer Besitz
Jemand verlässt die Firma? Code bleibt.
Alles an einem Ort
Jeder kann alle Projekte finden und weiterarbeiten.
Zugriff zentral verwaltet
Neue Leute einladen — sofort Zugriff auf alles.
TAWO-GmbH
github.com/TAWO-GmbH
Neues Projekt? Repo direkt unter TAWO-GmbH anlegen.
Die 3 Dinge die du heute mitnimmst
Commit oft.
Push immer.
Jeder Savepoint ist eine Sicherheitslinie. Du kannst nie zu viele haben.
Secrets
nie auf Git.
.env in .gitignore. Echte Keys nur als Environment Variables.
Main =
funktioniert.
Nur funktionierende Versionen auf main. Sonst: Branch. Vor allem wenn du Code teilst.
git init — und deine erste Zeitreise beginnt.