Appearance
Git – Basics
Kein vollständiger Git-Kurs, sondern die Befehle, die im Alltag mit Claude Code am häufigsten gebraucht werden — v. a. um selbst nachzuvollziehen, was gerade geändert wurde, bevor man es committet.
Status & Unterschiede ansehen
bash
git status # welche Dateien geändert/neu/gelöscht sind
git diff # Änderungen an bereits getrackten, noch nicht gestagten Dateien
git diff --staged # Änderungen, die bereits `git add` hatten (was der nächste Commit enthält)
git diff <datei> # nur für eine bestimmte Datei
git diff HEAD~1 # Unterschied zum vorherigen Commitgit diff zeigt Zeilen-Änderungen (- entfernt, + hinzugefügt), kein komplettes Vorher/Nachher der Datei — bei größeren Umbauten lieber die Datei direkt ansehen statt nur den Diff zu lesen.
Historie ansehen
bash
git log # volle Historie, neuester Commit zuerst
git log --oneline # eine Zeile pro Commit, kompakt
git log --oneline -10 # nur die letzten 10
git log -- <datei> # nur Commits, die diese Datei berühren
git log --oneline --graph --all # Branch-Struktur visualisierenÄnderungen stagen & committen
bash
git add <datei> # eine bestimmte Datei zum nächsten Commit vormerken
git add . # alle geänderten/neuen Dateien im aktuellen Ordner
git add -p # interaktiv, Hunk für Hunk auswählen (bei gemischten Änderungen)
git commit -m "..." # committen mit Nachricht
git commit --amend # letzten Commit nachträglich ändern (nur wenn noch nicht gepusht!)Commit-Message-Konvention im Playbook (aus dem /playbook-learnings- Command): learn(<datei>): <einzeiler>, z. B. learn(joomla-build): copy-file.js Binärdatei-Bug.
Branches (Basics)
bash
git branch # lokale Branches auflisten
git branch -a # inkl. Remote-Branches
git checkout -b feature/x # neuen Branch erstellen + wechseln
git checkout main # zurück zu main
git branch -d feature/x # lokalen Branch löschen (nur wenn gemergt)Remote
bash
git push # aktuellen Branch pushen (Upstream muss gesetzt sein)
git push -u origin <branch> # erstes Mal pushen + Upstream setzen
git pull # Remote-Änderungen holen + mergen
git fetch # nur holen, noch nicht mergen (zum Vorab-Ansehen)Rückgängig machen (vorsichtig)
bash
git restore <datei> # ungestagte Änderungen an einer Datei verwerfen
git restore --staged <datei> # nur aus der Staging-Area nehmen, Änderung bleibt im Working Dir
git reset --soft HEAD~1 # letzten Commit rückgängig, Änderungen bleiben gestaged
git revert <commit> # Commit durch einen neuen Gegen-Commit rückgängig machen (sicher bei bereits gepushtem Code)git reset --hard bewusst nicht in dieser Liste — löscht Änderungen unwiderruflich. Nur nutzen, wenn wirklich sicher, dass nichts Wichtiges verloren geht.
Bezug zu unserem Playbook
git checkout -- <pfad> ist der Fix für das npm run copy-Re-Minify- Problem aus learnings/joomla-build.md — committete Vendor-Datei nach jedem Build zurücksetzen, statt den Churn zu committen.