Arbeitsverz.
Die Datei auf deiner Festplatte – das, was dein Editor zeigt. Änderungen landen zuerst hier.
Jede Visualisierung wird von einem Git-Simulator angetrieben, dessen Ausgabe mit echtem Git geprüft wird. Hier siehst du, was jeder Teil der Bühne bedeutet – und eine Live-Bühne zum Ausprobieren.
git commitDrücke ▶ und sieh zu, wie eine Datei von deiner Festplatte in den Staging-Bereich und dann in einen Commit wandert. Um eigene Befehle zu tippen, öffne die Spielwiese.
Die Tabelle links verfolgt jede Datei durch die drei Orte, an denen Git sie aufbewahrt. Ein Versionslabel (v1, v2 …) ändert sich, wenn sich der Inhalt ändert, und eine Zelle blinkt, wenn ein Befehl sie berührt.
Die Datei auf deiner Festplatte – das, was dein Editor zeigt. Änderungen landen zuerst hier.
Der Entwurf deines nächsten Commits. git add kopiert eine Version hierher.
Die Version im letzten Commit des Branches, auf dem du bist.
Unter jedem Dateinamen: unchanged, modified, staged, untracked, conflict … genau das, was git status sagen würde.
Die rechte Seite zeichnet dein Repository. Alles darauf stammt aus dem echten Zustand nach jedem Befehl – nichts wird von Hand platziert.
Ein Commit mit kurzem Hash und Nachricht. Die Hashes sind echt: Sie werden aus dem Inhalt berechnet.
Führt vom Elternteil zum Kind. Ein Merge-Commit hat zwei Eltern, also treffen sich zwei Linien.
Ein Branch ist nur ein verschiebbares Label auf einem Commit (main, feature/login …).
Wo du bist. Es steht neben dem Branch, auf dem du bist, oder direkt auf einem Commit, wenn HEAD detached ist.
origin/main und Co.: deine zuletzt bekannte Kopie der Server-Branches, aktualisiert durch fetch, pull und push.
Ein nicht erreichbarer Commit – kein Branch zeigt mehr auf ihn, aber er existiert noch (das Reflog kann ihn zurückholen).
Wird gezeigt, wenn eine Lektion ein Remote nutzt: das Repository des Servers über deinem, damit push und fetch Commits sichtbar zwischen ihnen bewegen.
Jede Lektion ist eine Liste von Git-Befehlen. Ein in die Website eingebauter Git-Simulator führt sie in deinem Browser aus – vor jedem Release wird seine Ausgabe Zeile für Zeile mit echtem Git 2.48 geprüft.
Interaktive Befehle (add -p, rebase -i) halten bei jeder Frage an, damit du sie lesen kannst, bevor die Antwort eingetippt wird.
Wenn Git einen Editor öffnet (Commit-Nachricht, Rebase-Todo-Liste, Tag-Nachricht), zeigt die Bühne die bearbeitete Datei.
cat index.htmlcode index.htmlgit add index.htmlLektionen sind nur zum Anschauen. Um eigene Befehle zu tippen, öffne die Spielwiese (Link unter jeder Visualisierung): Der Graph reagiert genau wie in den Lektionen, und Hinweise schlagen die wahrscheinlichsten nächsten Befehle vor, wenn du nicht weiterkommst.
Eine Erzählzeile wie „ein Kollege pusht …“ bedeutet, dass jemand anderes den Server geändert hat – der Grund, warum sich ein späterer Push oder Pull so verhält.
Ein Schritt ist in Takte unterteilt. Jeder Takt ändert eine Sache und erklärt sie in einer Bildunterschrift unten auf der Bühne; alles andere wird abgedunkelt.
Der Befehl wird getippt, bevor sich etwas bewegt, und die Bereiche ändern sich erst, wenn seine Wirkung eintrifft.
2b4c917 entsteht – ein Schnappschuss von allem im Staging-Bereich. main rückt darauf vor (HEAD kommt mit – er zeigt auf main)Was gerade passiert ist und warum, in einem Satz. Der Bereich neben dem Terminal wiederholt es mit der Erklärung des Schritts.
git log --onelineecho "cart.push(item)" >> app.jsecho "export function login() {}" > login.jsgit statusgit add app.js login.jsDie nummerierte Liste unter der Erklärung. Klicke auf einen Schritt, um dorthin zu springen.
Spiel sie wie ein Video ab oder geh Schritt für Schritt vor.
Neu starten, vorheriger Schritt, Abspielen / Pause, nächster Schritt.
Ziehen, um zu jedem Moment der Lektion zu springen.
0,5× bis 2×.
Klicke auf die Bühne, dann Leertaste = Abspielen / Pause, ← / → = vorheriger / nächster Schritt.
Wo die Visualisierungen zu finden sind.
--force-with-leaseGit ≥ 1.8.5EmpfohlenDie Hauptvisualisierung deckt den alltäglichen Einsatz des Befehls ab. Jede Option hat eine eigene kurze Visualisierung – öffne sie in der Optionsliste.
Jede Option trägt ein Badge: Empfohlen, Bei Bedarf oder Nicht empfohlen, mit einer Begründung in einer Zeile.
Den Diff vor dem Stagen im Editor öffnen. Du kannst von Hand auswählen, welche Änderungen hineinkommen.
$ git add -e app.jsgit add -e öffnet den ganzen Diff als Patch in deinem Editor; du löschst die Zeilen, die nicht gestagt werden sollen, und git wendet den Rest an. Das ist eine von Hand bearbeitete Datei, keine Zustandsänderung des Repositorys, die die Bühne animieren könnte – git add -p ist das visuelle Gegenstück.
Einige Optionen hängen von Dingen außerhalb des Repositorys ab (dein Editor, Dateirechte, Zeilenenden). Sie bekommen statt einer Animation eine Erklärkarte.
$ git switch -c feature/login$ echo "export function login() {}" > login.js && git add login.js && git commit -m "Add login page"$ echo "login()" >> app.js && git commit -am "Call login on load"Durchläufe aus der Praxis, als eine durchgehende Geschichte gespielt, in anklickbare betitelte Abschnitte gegliedert.
Das Zahnrad im Header enthält die Einstellungen: Sprache, helle oder dunkle Website, Visualisierungs-Theme, Farbenblind-Modus und Textgröße.
Folge einem ganzen Workflow oder wähle einen Befehl.