Git Spickzettel
Übersicht wichtiger Git-Befehle.
Befehle vor dem Ausführen prüfen
Platzhalter wie commit-hash und branch-name müssen ersetzt werden. Besonders restore, reset, clean und rebase können lokale Daten verwerfen oder Commit-IDs ändern. Prüfen Sie zuerst git status und gegebenenfalls den Dry-Run.
Git-Befehle
git initNeues Git-Repository initialisieren
git init mein-projektErstellt ein neues .git-Unterverzeichnis im aktuellen Verzeichnis
git cloneRepository in ein neues Verzeichnis klonen
git clone https://github.com/username/repository.gitKlont das Repository auf Ihren lokalen Rechner
git addDateiinhalt zum Index hinzufügen
git add dateiname.jsMit git add -p können Sie einzelne Änderungen prüfen und gezielt vormerken
git commitÄnderungen im Repository speichern
git commit -m "Neue Funktion hinzufügen"Verwenden Sie das -a-Flag, um alle verfolgten Dateien zu committen
git statusStatus des Arbeitsbaums anzeigen
git statusZeigt geänderte Dateien im Arbeitsverzeichnis
git diffÄnderungen zwischen Commits, Commit und Arbeitsbaum usw. anzeigen
git diffVerwenden Sie git diff --staged, um Staged-Änderungen zu sehen
git logCommit-Historie anzeigen
git log --onelineZeigt die Commit-Historie
git branchBranches auflisten, erstellen oder löschen
git branch feature-branchVerwenden Sie das -d-Flag, um einen Branch zu löschen
git checkoutBranch wechseln oder Dateien des Arbeitsbaums wiederherstellen
git checkout feature-branchVerwenden Sie das -b-Flag, um einen neuen Branch zu erstellen und darauf zu wechseln
git switchBranch wechseln (neuere Alternative zu checkout)
git switch feature-branchVerwenden Sie das -c-Flag, um einen neuen Branch zu erstellen und darauf zu wechseln
git mergeZwei oder mehr Entwicklungshistorien zusammenführen
git merge feature-branchFügt den angegebenen Branch in den aktuellen Branch ein
git rebaseCommits auf eine andere Basis neu anwenden
Risiko: mittelgit rebase mainSchreibt die Commit-Historie um, um eine lineare Historie zu erstellen
git tagTag-Objekt erstellen, auflisten, löschen oder überprüfen
git tag v1.0.0Verwenden Sie -a für annotierte Tags mit Nachrichten
git remoteEine Gruppe von verfolgten Repositories verwalten
git remote -vListet alle Remote-Verbindungen auf
git fetchObjekte und Referenzen von einem anderen Repository herunterladen
git fetch originRuft Änderungen ab, integriert sie aber nicht
git pullVon einem anderen Repository abrufen und integrieren
git pull origin mainRuft Änderungen ab und integriert sie gemäß Konfiguration per Merge, Rebase oder Fast-Forward
git pushRemote-Referenzen mit zugehörigen Objekten aktualisieren
git push origin mainÜberträgt lokale Commits in das Remote-Repository
git showVerschiedene Objekttypen anzeigen
git show commit-hashZeigt Commit-Daten und Diffs
git blameAnzeigen, welche Revision zuletzt jede Zeile einer Datei geändert hat
git blame dateiname.jsZeigt, wer was wann in einer Datei geändert hat
git grepZeilen ausgeben, die einem Muster entsprechen
git grep "function"Nach bestimmten Textfragmenten in verfolgten Dateien suchen
git diff-treeInhalt und Modus von Blobs in Bäumen vergleichen
git diff-tree HEAD HEAD~1Zeigt alle Änderungen zwischen zwei Commit-Punkten
git restoreDateien des Arbeitsbaums wiederherstellen
Risiko: hochgit restore --source=HEAD -- dateiname.jsVerwirft nicht vorgemerkte Änderungen an der Datei; vorher git diff prüfen
git resetAktuellen HEAD auf den angegebenen Zustand zurücksetzen
Risiko: hochgit reset --soft HEAD~1--soft behält Änderungen im Index; --hard kann Index und Arbeitsverzeichnis verwerfen
git revertEinen neuen Commit erstellen, der vorherige Änderungen rückgängig macht
git revert commit-hashSicherer als Reset für gemeinsam genutzte Branches
git cleanNicht verfolgte Dateien aus dem Arbeitsbaum entfernen
Risiko: hochgit clean -ndSicherer Dry-Run: Erst -f löscht unversionierte Dateien, -d bezieht Verzeichnisse ein
git stashÄnderungen in einem unsauberen Arbeitsverzeichnis beiseitelegen
git stash push -m "WIP: feature"Verwenden Sie git stash pop, um den Stash anzuwenden und zu entfernen
git cherry-pickÄnderungen aus bestehenden Commits übernehmen
git cherry-pick commit-hashWendet Änderungen bestimmter Commits auf den aktuellen Branch an
git bisectBinäre Suche verwenden, um den Commit zu finden, der einen Bug eingeführt hat
git bisect start
git bisect bad
git bisect good commit-hashHilft, den Commit zu finden, der einen Bug verursacht hat
git worktreeMehrere Arbeitsverzeichnisse verwalten, die mit demselben Repository verknüpft sind
git worktree add ../pfad branch-nameErstellt eine verknüpfte Arbeitskopie, um an mehreren Branches zu arbeiten
git submoduleSubmodule initialisieren, aktualisieren oder untersuchen
git submodule add https://github.com/username/repo.gitAndere Git-Repositories in Ihr Repository einbinden
git reflogReflog-Informationen verwalten
git reflogZeigt ein Protokoll der HEAD-Änderungen im lokalen Repository
Tastaturkürzel
Auto-Vervollständigung für Git-Befehle, Branch-Namen und Dateipfade
Im Befehlsverlauf suchen
Durch zuletzt verwendete Befehle navigieren
Terminalbildschirm leeren
Aktuellen Befehl oder Vorgang abbrechen
Log-, Diff- oder Hilfeseiten verlassen
Profi-Tipps
Benutzerdefinierte Git-Konfiguration
Globale .gitconfig für eine persönliche Arbeitsweise einrichten:
[user]
name = Ihr Name
email = [email protected]
[core]
editor = code --wait
autocrlf = input
[color]
ui = auto
[pull]
rebase = trueGlobale .gitignore erstellen
Dateien systemweit ignorieren statt in jedem Projekt einzeln:
# Globale gitignore erstellen
touch ~/.gitignore_global
# Häufig zu ignorierende Dateien hinzufügen
echo ".DS_Store
node_modules/
.vscode/
*.log
.env" >> ~/.gitignore_global
# In Git konfigurieren
git config --global core.excludesfile ~/.gitignore_globalGut zu wissen
Kuratierte Referenz
Eine kompakte Auswahl häufiger Git-Befehle — von Grundlagen bis zu Operationen wie Bisect und Worktree. Optionen und Sonderfälle stehen in der Git-Dokumentation.
Ein Klick zum Kopieren
Jeder Befehl und jedes Beispiel lässt sich per Klick in die Zwischenablage kopieren — kein manuelles Abtippen nötig.
Tastaturkürzel
Die gezeigten Terminalkürzel hängen von Shell, Zeileneditor und Pager ab. Git-Alias werden separat über git config eingerichtet.
Vollständig lokal
Suche und Filter laufen in dieser Seite im Browser. Kopierte Befehle werden erst wirksam, wenn Sie sie selbst in einem Terminal ausführen.
Git-Befehle sicher einordnen
Git unterscheidet Arbeitsverzeichnis, Index und Commit-Historie. Ein Befehl kann deshalb nur den Index ändern, Dateien im Arbeitsverzeichnis überschreiben oder die Referenz eines Branches verschieben. Lesen Sie vor einem Rückgängig-Befehl die genaue Variante in der Git-Dokumentation und sichern Sie wichtige, noch nicht versionierte Dateien außerhalb des Repositorys.
Gemeinsam genutzte Historie
git revert ergänzt einen neuen Gegen-Commit und eignet sich deshalb meist besser für bereits veröffentlichte Änderungen. reset und rebase verändern dagegen lokale Referenzen oder Commit-IDs. Ein anschließender Force-Push kann die Arbeit anderer überschreiben und gehört nicht in einen allgemeinen Kopierbefehl.
Vor dem Löschen
git clean -nd zeigt nur an, welche unversionierten Dateien und Verzeichnisse betroffen wären. Erst nach Prüfung würde git clean -fd diese Einträge tatsächlich entfernen. Unversionierte Dateien sind nicht automatisch über Git wiederherstellbar.
Häufige Fragen
Was ist ein Git-Spickzettel?
Ein Git-Spickzettel ist eine kompakte Referenz der wichtigsten Git-Befehle mit kurzer Beschreibung und Beispiel, damit Sie Befehle nicht auswendig lernen müssen.
Wie finde ich schnell den passenden Befehl?
Nutzen Sie das Suchfeld oben, um nach Befehlsname oder Stichwort in der Beschreibung zu filtern, oder wählen Sie eine Kategorie wie „Branches und Merging" aus.
Was ist der Unterschied zwischen git merge und git rebase?
git merge fügt die Historie eines anderen Branches als neuen Merge-Commit ein und bewahrt die tatsächliche Reihenfolge. git rebase wendet Ihre Commits auf eine neue Basis an und erzeugt eine lineare Historie, verändert dabei aber Commit-Hashes.
Wie kann ich eine Änderung rückgängig machen, die bereits committet wurde?
Mit git revert commit-hash erstellen Sie einen neuen Gegen-Commit, ohne die vorhandene Historie zu ersetzen. Das ist für bereits geteilte Branches meist die passendere Wahl. git reset kann für rein lokale Commits geeignet sein, verschiebt aber die Branch-Referenz und muss je nach Modus sorgfältig gewählt werden.
Was bewirken Git-Alias?
Git-Alias sind Abkürzungen für häufig verwendete Befehle, z. B. „git co" statt „git checkout". Sie werden einmalig mit git config --global alias.<kurzform> <befehl> eingerichtet.
Wo speichere ich eine globale .gitignore-Datei?
Erstellen Sie eine Datei wie ~/.gitignore_global und registrieren Sie sie mit git config --global core.excludesfile ~/.gitignore_global, damit sie projektübergreifend gilt.
Quellen und Spezifikationen
Grundlagen, Spezifikationen und weiterführende Angaben zu diesem Werkzeug:
- Git – offizielle Befehlsreferenz (öffnet in einem neuen Tab)
- Git – git-reset Dokumentation (öffnet in einem neuen Tab)
- Git – git-clean Dokumentation (öffnet in einem neuen Tab)
- Git – git-rebase Dokumentation (öffnet in einem neuen Tab)
Quellen geprüft am 28. August 2026.