Tech-Basics für moderne Teams

GIT FÜR
VIBE
CODER

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?

KI schreibt schnell. Sehr schnell.
Du brauchst ein Sicherheitsnetz.

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

Du musst das nicht
selbst machen.

Sag deinem Claude Code einfach:

"Arbeite mit Git. Benutze atomic commits."

...und alles was in dieser Präsentation kommt, passiert von alleine.

Aber du solltest verstehen was dabei passiert. Deshalb:

Das Konzept

Dein Projekt ist eine Timeline.

Stell dir vor, jeder wichtige Moment deines Projekts wäre festgehalten — und du könntest jederzeit dorthin zurückreisen.

Projekt Start Login gebaut Design Update Bug gefixt Jetzt

Jeder Punkt = ein Commit (Savepoint)

Die Linie = die Geschichte deines Codes

Doc Brown brauchte einen DeLorean. Du brauchst nur Git.

Commits

Ein Commit ist ein Savepoint.

Ein Foto deines gesamten Projekts — zu einem bestimmten Zeitpunkt. Unveränderlich. Sicher.

Commit
Hash a1b2c3d
Message "feat: Login-Formular hinzugefügt"
Wann vor 2 Stunden
Changes 3 Dateien · +45 -12

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

Prompt macht alles kaputt?
Spring zurück.

Wie Ctrl+Z — aber für dein ganzes Projekt. Und nicht nur einen Schritt. Zu jedem Punkt in der Geschichte.

Start Login Hier lief's noch hmm... kaputt Zeitreise!

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

Zwischen Timelines wechseln.

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.

DU BIST HIER main feature

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

Timelines vereinen.

Experiment funktioniert? Merge — die Timelines werden wieder eins. Experiment gescheitert? Branch löschen. Main war nie in Gefahr.

merge feature branch

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

Deine Zeitmaschine existiert an zwei Orten.

Lokal

dein Rechner

  • ·Deine eigene Kopie des Repos
  • ·Commits passieren hier — offline, sofort
  • ·Niemand sieht es bis du pushst

Remote (GitHub)

die Cloud-Kopie

  • ·Backup — selbst wenn dein Laptop stirbt
  • ·Teamwork — alle sehen denselben Stand
  • ·Deployment — push = live gehen
git push — lokal → cloud · git pull — cloud → lokal

Die Praxis

4 Befehle. Das reicht.

Was soll in den Savepoint?

git add .
# Änderungen auswählen

Savepoint setzen

git commit -m "was ich gemacht hab"
# Moment einfrieren

In die Cloud sichern

git push
# Backup + teilen

Stand aus der Cloud holen

git pull
# was andere gemacht haben

→ Alles andere (branch, merge, revert, log) lernt man wenn man es braucht.

Der Workflow

Vibe Coder Loop

1

Branch

Neue Timeline für dein Feature

git checkout -b feature-name
2

Viben

Mit KI coden, ausprobieren

# Claude / Cursor / Copilot...
3

Commit

Funktioniert was? Savepoint!

git add .
git commit -m "feat: login"
4

Push & PR

Hochladen, Review, Merge

git push
# → GitHub PR öffnen

Agentic Best Practice

Warum kleine Savepoints?

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

Saubere Savepoints.

Ein Commit = eine Sache

Fetter Commit

"login, dashboard, bugfix, styles"

Atomic Commits

"feat: Login-Formular"
"feat: Dashboard"
"fix: API-Timeout"

Gute Beschriftung

Nichtssagend

"fix"
"changes"
"asdfasdf"

Klar & hilfreich

"feat: Login-Formular hinzugefügt"
"fix: Fehler beim Laden der API"
"style: Navbar responsiv gemacht"

Prefix: feat: neu · fix: bugfix · style: aussehen · docs: texte

Aufpassen

Drei Dinge die nie ins Repo gehören.

Secrets & Keys

.env
API_KEY=sk-abc123...
DB_PASSWORD=geheim!

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

video.mp4 (800 MB)
design.psd (200 MB)
dataset.csv (500 MB)

Git speichert jede Version. 500 MB × 10 Commits = 5 GB Repo.

Cloud Storage (S3, R2) oder Git LFS

Generiertes

node_modules/ (100k+)
.next/ / dist/
__pycache__/

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

Du brauchst kein Terminal.
Wirklich.

GitHub Desktop

Grafisches Tool direkt von GitHub. Perfekt zum Einstieg.

desktop.github.com

VS Code / Cursor

Git direkt integriert. Klick auf das Branch-Icon unten links.

Empfehlung für Vibe Coder

GitHub Web

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

Alles landet bei
TAWO-GmbH.

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

Organization
presentations
public
dein-nächstes-projekt
private

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

LOS GEHT'S.

git init — und deine erste Zeitreise beginnt.

commit
branch
push
1 / 19