Alle Werkzeuge
Kostenlos

Eine durchsuchbare, druckbare Git-Referenz — Konfiguration, Branches, Merging, Rebasing, Remotes, Stashing, Tags und das Rückgängigmachen von Änderungen. Kostenlos.

Setup & Konfiguration

10
git config --global user.name "Jane Doe"
Den Namen für deine Commits festlegen
git config --global user.email "jane@example.com"
Die E-Mail für deine Commits festlegen
git config --global init.defaultBranch main
Neue Repos auf dem Branch "main" starten
git config --global core.editor "code --wait"
VS Code als Standard-Git-Editor verwenden
git config --global pull.rebase true
Beim Pull rebasen statt mergen
git config --global alias.co checkout
Kurzbefehl-Alias anlegen (git co)
git config --global --list
Alle globalen Konfigurationswerte auflisten
git config user.email
Die E-Mail des aktuellen Repos ausgeben
git config --global color.ui auto
Farbige Befehlszeilenausgabe aktivieren
git help <command>
Die Handbuchseite eines Befehls öffnen

Repos erstellen & klonen

9
git init
Neues Repo im aktuellen Ordner initialisieren
git init my-project
Neues Repo in einem neuen Verzeichnis erstellen
git clone https://example.com/repo.git
Remote-Repo über HTTPS klonen
git clone git@example.com:user/repo.git
Remote-Repo über SSH klonen
git clone <url> my-dir
In einen bestimmten Verzeichnisnamen klonen
git clone --depth 1 <url>
Shallow-Clone nur mit dem letzten Commit
git clone --branch dev <url>
Klonen und einen bestimmten Branch auschecken
git clone --recurse-submodules <url>
Klonen und alle Submodule initialisieren
git remote add origin <url>
Ein Remote an ein bestehendes lokales Repo anhängen

Staging & Committen

11
git add file.txt
Eine einzelne Datei für den nächsten Commit stagen
git add .
Alle Änderungen im aktuellen Verzeichnis stagen
git add -A
Alle Änderungen inkl. Löschungen stagen
git add -p
Ausgewählte Hunks interaktiv stagen
git commit -m "Add login form"
Gestagte Änderungen mit Nachricht committen
git commit -am "Fix typo"
Getrackte Dateien stagen und in einem Schritt committen
git commit --amend
Den letzten Commit bearbeiten
git commit --amend --no-edit
Gestagte Änderungen zum letzten Commit hinzufügen
git rm file.txt
Datei entfernen und die Löschung stagen
git mv old.txt new.txt
Datei umbenennen oder verschieben und stagen
git reset file.txt
Datei unstagen, Änderungen aber behalten

Branches

10
git branch
Alle lokalen Branches auflisten
git branch -a
Lokale und Remote-Tracking-Branches auflisten
git switch -c feature/login
Neuen Branch erstellen und dorthin wechseln
git switch main
Zu einem bestehenden Branch wechseln
git checkout -b hotfix
Klassische Art, Branches zu erstellen und zu wechseln
git branch -m old-name new-name
Einen Branch umbenennen
git branch -d feature/login
Gemergten lokalen Branch löschen
git branch -D feature/login
Ungemergten lokalen Branch erzwungen löschen
git push origin --delete feature/login
Einen Branch auf dem Remote löschen
git switch -
Zum vorherigen Branch zurückwechseln

Mergen & Rebasen

10
git merge feature/login
Einen Branch in den aktuellen mergen
git merge --no-ff feature/login
Mergen und immer einen Merge-Commit erzeugen
git merge --squash feature/login
Einen Branch zu einer gestagten Änderung zusammenfassen
git merge --abort
Einen Merge mit Konflikten abbrechen
git rebase main
Commits des aktuellen Branches auf main neu anwenden
git rebase -i HEAD~3
Die letzten 3 Commits interaktiv bearbeiten
git rebase --continue
Rebase nach dem Lösen von Konflikten fortsetzen
git rebase --abort
Einen laufenden Rebase abbrechen
git cherry-pick <hash>
Einen einzelnen Commit auf den aktuellen Branch anwenden
git mergetool
Ein Tool zum Lösen von Merge-Konflikten starten

Remotes & Synchronisieren

11
git remote -v
Konfigurierte Remotes und ihre URLs auflisten
git remote add upstream <url>
Ein zweites Remote namens upstream hinzufügen
git remote set-url origin <url>
Die URL eines bestehenden Remotes ändern
git fetch
Remote-Änderungen ohne Mergen herunterladen
git fetch --all --prune
Alle Remotes fetchen und veraltete Branches entfernen
git pull
Remote-Änderungen fetchen und integrieren
git pull --rebase
Pullen und lokale Commits darauf rebasen
git push
Lokale Commits zum Remote hochladen
git push -u origin main
Pushen und den Upstream-Tracking-Branch setzen
git push --force-with-lease
Sicher force-pushen ohne fremde Commits zu überschreiben
git push origin --tags
Alle lokalen Tags zum Remote pushen

Untersuchen & Vergleichen

10
git status
Gestagte, ungestagte und ungetrackte Dateien anzeigen
git status -s
Status im kompakten Kurzformat anzeigen
git diff
Ungestagte Änderungen gegen den Index anzeigen
git diff --staged
Für den nächsten Commit gestagte Änderungen anzeigen
git diff main..feature
Zwei Branches vergleichen
git diff HEAD~1 HEAD
Den letzten Commit mit seinem Vorgänger vergleichen
git show <hash>
Details und Diff eines Commits anzeigen
git show HEAD:file.txt
Eine Datei so anzeigen, wie sie in einem Commit war
git log --stat
Commits mit Übersicht geänderter Dateien anzeigen
git shortlog -sn
Commits nach Autor gruppiert zählen

Änderungen rückgängig machen

10
git restore file.txt
Ungestagte Änderungen einer Datei verwerfen
git restore --staged file.txt
Datei unstagen, Änderungen aber behalten
git restore --source=HEAD~1 file.txt
Eine Datei aus einem früheren Commit wiederherstellen
git checkout -- file.txt
Klassische Art, lokale Änderungen zu verwerfen
git reset --soft HEAD~1
Letzten Commit rückgängig, Änderungen gestagt lassen
git reset --mixed HEAD~1
Letzten Commit rückgängig, Änderungen ungestagt lassen
git reset --hard HEAD~1
Letzten Commit rückgängig und Änderungen verwerfen
git revert <hash>
Neuen Commit erstellen, der einen Commit rückgängig macht
git clean -fd
Ungetrackte Dateien und Verzeichnisse löschen
git clean -nd
Vorschau, was clean entfernen würde

Stashing

10
git stash
Uncommittete Änderungen sichern und den Baum bereinigen
git stash push -m "wip"
Änderungen mit beschreibender Nachricht stashen
git stash -u
Stashen inklusive ungetrackter Dateien
git stash list
Alle gestashten Änderungssätze auflisten
git stash show -p
Den Diff des letzten Stashs anzeigen
git stash apply
Letzten Stash erneut anwenden und behalten
git stash pop
Letzten Stash erneut anwenden und verwerfen
git stash apply stash@{2}
Einen bestimmten Stash per Index erneut anwenden
git stash drop stash@{0}
Einen einzelnen Stash-Eintrag löschen
git stash clear
Alle Stash-Einträge löschen

Tags

9
git tag
Alle Tags auflisten
git tag v1.0.0
Einen Lightweight-Tag bei HEAD erstellen
git tag -a v1.0.0 -m "Release 1.0.0"
Einen annotierten Tag mit Nachricht erstellen
git tag -a v1.0.0 <hash>
Einen bestimmten vergangenen Commit taggen
git show v1.0.0
Details zu einem Tag anzeigen
git push origin v1.0.0
Einen einzelnen Tag zum Remote pushen
git push origin --tags
Alle lokalen Tags zum Remote pushen
git tag -d v1.0.0
Einen Tag lokal löschen
git push origin --delete v1.0.0
Einen Tag auf dem Remote löschen

Logs & Verlauf

12
git log
Den vollständigen Commit-Verlauf anzeigen
git log --oneline
Kompaktes Log mit einer Zeile pro Commit anzeigen
git log --oneline --graph --all
Branches als ASCII-Graph visualisieren
git log -p
Commit-Verlauf mit Diffs anzeigen
git log --author="Jane"
Verlauf nach Autor filtern
git log --since="2 weeks ago"
Verlauf nach Datumsbereich filtern
git log --pretty=format:"%h %an %s"
Das Log-Ausgabeformat anpassen
git blame file.txt
Anzeigen, wer jede Zeile zuletzt geändert hat
git reflog
Den Verlauf der HEAD-Positionen anzeigen
git bisect start
Binäre Suche nach einem fehlerhaften Commit starten
git bisect good <hash>
Einen Commit beim Bisect als gut markieren
git bisect bad
Den aktuellen Commit als fehlerhaft markieren

Kein Eintrag passt zu „:q“.


Brauchen Sie Hilfe?
Ein Problem mit diesem Tool gefunden? Sagen Sie es unserem Team.
Problem melden

Füge dieses kostenlose Tool zu deiner eigenen Website hinzu — kopiere den Code unten und füge ihn ein.