# 📋 Quick Reference – Git Cheatsheet Die wichtigsten Git-Befehle auf einen Blick. --- ## Setup | Befehl | Was er macht | Beispiel | |--------|-------------|---------| | `git config --global user.name` | Deinen Namen setzen | `git config --global user.name "Anna Muster"` | | `git config --global user.email` | E-Mail setzen | `git config --global user.email "anna@example.com"` | | `git config --list` | Alle Einstellungen anzeigen | `git config --list` | --- ## Lokale Änderungen | Befehl | Was er macht | Beispiel | |--------|-------------|---------| | `git init` | Neues Repo anlegen | `git init` | | `git status` | Aktuellen Zustand prüfen | `git status` | | `git add ` | Datei stagen | `git add README.md` | | `git add .` | Alle Änderungen stagen | `git add .` | | `git commit -m "..."` | Commit erstellen | `git commit -m "feat: Login hinzugefügt"` | | `git diff` | Unstaged Änderungen ansehen | `git diff` | | `git diff --staged` | Staged Änderungen ansehen | `git diff --staged` | | `git restore ` | Lokale Änderungen verwerfen | `git restore index.html` | | `git restore --staged ` | Datei aus Staging Area entfernen | `git restore --staged index.html` | --- ## History | Befehl | Was er macht | Beispiel | |--------|-------------|---------| | `git log` | Vollständige Commit-Historie | `git log` | | `git log --oneline` | Kompakte Übersicht | `git log --oneline` | | `git log --all --graph` | Alle Branches grafisch | `git log --all --oneline --graph` | | `git show ` | Einzelnen Commit ansehen | `git show a3f9c12` | --- ## Branches | Befehl | Was er macht | Beispiel | |--------|-------------|---------| | `git branch` | Alle lokalen Branches | `git branch` | | `git branch ` | Neuen Branch erstellen | `git branch feature/login` | | `git switch ` | Zu Branch wechseln | `git switch feature/login` | | `git switch -c ` | Branch erstellen & wechseln | `git switch -c feature/login` | | `git merge ` | Branch in aktuellen mergen | `git merge feature/login` | | `git branch -d ` | Branch löschen | `git branch -d feature/login` | | `git merge --abort` | Laufenden Merge abbrechen | `git merge --abort` | --- ## Remote | Befehl | Was er macht | Beispiel | |--------|-------------|---------| | `git remote -v` | Remote-URLs anzeigen | `git remote -v` | | `git remote add` | Remote verknüpfen | `git remote add origin ` | | `git push -u origin main` | Ersten Push + Tracking setzen | `git push -u origin main` | | `git push` | Commits hochladen | `git push` | | `git pull` | Commits herunterladen & mergen | `git pull` | | `git fetch` | Commits holen, nicht mergen | `git fetch` | | `git clone ` | Repo herunterladen | `git clone https://github.com/...` | --- ## Notfall | Befehl | Was er macht | Beispiel | |--------|-------------|---------| | `git stash` | Änderungen temporär wegräumen | `git stash` | | `git stash pop` | Weggeräumte Änderungen zurückholen | `git stash pop` | | `git revert ` | Commit rückgängig machen (sicher!) | `git revert a3f9c12` | | `git merge --abort` | Merge abbrechen | `git merge --abort` | --- ## Datei-Zustände ```mermaid stateDiagram-v2 [*] --> Untracked : Neue Datei erstellt Untracked --> Staged : git add Staged --> Committed : git commit Committed --> Modified : Datei bearbeitet Modified --> Staged : git add Staged --> Modified : git restore --staged Modified --> Committed : git restore (Änderungen verwerfen) Committed --> [*] ``` | Zustand | Bedeutung | |---------|-----------| | **Untracked** | Git kennt die Datei noch nicht | | **Modified** | Datei geändert, aber nicht gestagter | | **Staged** | Bereit für den nächsten Commit | | **Committed** | Sicher in der Versionshistorie gespeichert | --- *Zurück zur [Startseite](../README.md)*