Git Cheat Sheet: Befehle, Workflow und Best Practices
Git ist das weltweit am häufigsten verwendete Versionskontrollsystem. Egal ob Sie allein arbeiten oder Teil eines großen Teams sind, die Beherrschung von Git ist unerlässlich für die Verwaltung Ihrer Code-Historie und eine effektive Zusammenarbeit.
Nutzen Sie dieses Cheat Sheet als Schnellreferenz für gängige Git-Befehle und Workflows.
1. Basis-Workflow
Der Kernzyklus zum Erstellen von Änderungen und Speichern im Repository.
| Befehl | Beschreibung | Beispiel |
|---|---|---|
git init |
Initialisiert ein neues lokales Git-Repository | git init |
git clone |
Erstellt eine Kopie eines Remote-Repositorys | git clone [url] |
git add |
Bereitet Änderungen für den nächsten Commit vor (Stage) | git add . (alles hinzufügen) |
git commit |
Speichert vorbereitete Änderungen in der Historie | git commit -m "feat: login" |
git status |
Zeigt den Status des Arbeitsverzeichnisses an | git status |
git push |
Lädt lokale Commits auf das Remote-Repository hoch | git push origin main |
git pull |
Holt und merge Änderungen vom Remote-Repository | git pull origin main |
git fetch |
Lädt Änderungen vom Remote-Repository herunter (kein Merge) | git fetch origin |
2. Branching und Merging
Branches ermöglichen es Ihnen, isoliert an verschiedenen Features oder Fixes zu arbeiten.
- Branch erstellen:
git branch [name] - Branch wechseln:
git checkout [name](odergit switch [name]) - Erstellen & Wechseln:
git checkout -b [name] - Branch mergen:
git merge [name](merged [name] in den aktuellen Branch) - Branch rebasen:
git rebase [name](wendet Commits auf [name] neu an) - Branch löschen:
git branch -d [name]
3. Änderungen rückgängig machen
Wie man Fehler behebt oder zu einem vorherigen Zustand zurückkehrt.
- Commit rückgängig machen:
git revert [commit-hash](erstellt einen neuen Commit, der Änderungen aufhebt) - Reset (Soft):
git reset --soft HEAD~1(macht Commit rückgängig, behält Änderungen im Staging) - Reset (Hard):
git reset --hard HEAD~1(macht Commit rückgängig und löscht Änderungen! Vorsicht) - Änderungen stashen:
git stash(versteckt uncommitted Änderungen vorübergehend) - Stash poppen:
git stash pop(holt gestashte Änderungen zurück)
4. Inspektion und Debugging
Tools zum Anzeigen der Historie und Finden von Fehlern.
| Befehl | Beschreibung |
|---|---|
git log |
Zeigt die Commit-Historie an |
git diff |
Zeigt Änderungen zwischen Commits oder dem Arbeitsverzeichnis an |
git blame [datei] |
Zeigt, wer welche Zeile in einer Datei geändert hat |
git show [commit] |
Zeigt Details eines spezifischen Commits an |
git bisect |
Nutzt binäre Suche, um den Commit zu finden, der einen Bug eingeführt hat |
Häufige Fragen (FAQ)
Q: Merge vs. Rebase: Was soll ich verwenden?
A: Merge erstellt einen neuen "Merge-Commit" und bewahrt die vollständige Historie und Chronologie. Rebase schreibt die Historie um, indem es Ihre Commits an die Spitze des Ziel-Branches verschiebt, was eine sauberere, lineare Historie erzeugt. Faustregel: Rebasen Sie niemals öffentliche Branches; nutzen Sie es für lokales Aufräumen vor dem Pushen.
Q: Wie behebe ich einen Merge-Konflikt?
A: Wenn ein Konflikt auftritt, markiert Git die Dateien. 1. Öffnen Sie die Datei und suchen Sie nach <<<<<<<, ======= und >>>>>>>. 2. Bearbeiten Sie den Code so, wie Sie ihn behalten möchten. 3. git add [datei]. 4. git commit.
Q: Was ist ein "detached HEAD"?
A: Es bedeutet, dass Sie einen spezifischen Commit oder Tag anstelle eines Branches ausgecheckt haben. Sie befinden sich auf keinem Branch. Neue Commits gehen verloren, wenn Sie wechseln, ohne einen neuen Branch zu erstellen. Zum Speichern der Änderungen: git checkout -b neuer-branch-name.
Q: Was sind die Best Practices für .gitignore?
A: Ignorieren Sie immer Umgebungsvariablen (.env), Build-Artefakte (dist/, build/), Dependency-Ordner (node_modules/) und OS-spezifische Dateien (.DS_Store). Nutzen Sie Community-Templates (z. B. von GitHub) für Ihre spezifische Sprache oder Ihr Framework.
Verwandtes auf Tool3M
- Startseite: Entdecken Sie weitere Entwickler-Tools und Referenzen zur Steigerung Ihrer Produktivität.