Git Spickzettel
Zuletzt aktualisiert
Setup & Konfiguration
Einmalige Einrichtung, damit deine Commits korrekt zugeordnet werden.
| Befehl | Was er tut |
|---|---|
git config --global user.name "Ada" | Deinen Commit-Namen festlegen |
git config --global user.email you@x.com | Deine Commit-E-Mail festlegen |
git config --list | Gesamte aktuelle Konfiguration anzeigen |
git config --global init.defaultBranch main | Den ersten Branch neuer Repos main nennen |
git config --global core.editor "code --wait" | Deinen Standardeditor festlegen |
git --version | Die installierte Git-Version anzeigen |
Erstellen & Klonen
Ein neues Repository starten oder ein vorhandenes kopieren.
| Befehl | Was er tut |
|---|---|
git init | Ein neues Repo im aktuellen Ordner erstellen |
git clone <url> | Ein Remote-Repo lokal kopieren |
git clone <url> mydir | In einen benannten Ordner klonen |
git clone --depth 1 <url> | Flacher Klon (nur der letzte Commit) |
git clone -b dev <url> | Klonen und den dev-Branch auschecken |
Stagen & Committen
Änderungen in den Projektverlauf aufnehmen.
| Befehl | Was er tut |
|---|---|
git add file.txt | Eine Datei stagen |
git add . | Alle Änderungen im aktuellen Verzeichnis stagen |
git add -p | Ausgewählte Blöcke interaktiv stagen |
git commit -m "message" | Gestagte Änderungen committen |
git commit -am "message" | Getrackte Dateien stagen und committen |
git commit --amend | Den letzten Commit bearbeiten |
git rm file.txt | Eine Datei entfernen und die Löschung stagen |
Branching
Isoliert an Änderungen arbeiten.
| Befehl | Was er tut |
|---|---|
git branch | Lokale Branches auflisten |
git branch feature | Einen neuen Branch erstellen |
git switch feature | Zu einem vorhandenen Branch wechseln |
git switch -c feature | In einem Schritt erstellen und wechseln |
git checkout feature | Ältere Methode, um Branches zu wechseln |
git branch -d feature | Einen gemergten Branch löschen |
git branch -m newname | Den aktuellen Branch umbenennen |
Mergen & Rebasen
Die Arbeit aus zwei Branches kombinieren.
| Befehl | Was er tut |
|---|---|
git merge feature | feature in den aktuellen Branch mergen |
git merge --no-ff feature | Immer einen Merge-Commit erstellen |
git rebase main | Deine Commits auf main neu aufspielen |
git rebase -i HEAD~3 | Die letzten 3 Commits interaktiv bearbeiten |
git rebase --continue | Nach dem Lösen von Konflikten fortfahren |
git rebase --abort | Einen laufenden Rebase abbrechen |
git cherry-pick <hash> | Einen Commit auf diesen Branch anwenden |
Remotes (push, pull, fetch)
Dein lokales Repo mit einem Remote wie GitHub synchronisieren.
| Befehl | Was er tut |
|---|---|
git remote -v | Konfigurierte Remotes auflisten |
git remote add origin <url> | Ein Remote namens origin verknüpfen |
git fetch | Remote-Änderungen herunterladen, ohne zu mergen |
git pull | Den Remote-Branch fetchen und mergen |
git push | Commits zum Remote hochladen |
git push -u origin main | Pushen und den Upstream-Branch festlegen |
git push origin --delete feature | Einen Remote-Branch löschen |
Inspizieren (status, log, diff)
Sehen, was sich geändert hat und was passiert.
| Befehl | Was er tut |
|---|---|
git status | Gestagte, ungestagte und untracked Dateien anzeigen |
git log | Commit-Verlauf anzeigen |
git log --oneline --graph | Kompakter Verlauf mit Branch-Graph |
git diff | Ungestagte Änderungen vs. den Index |
git diff --staged | Gestagte Änderungen vs. den letzten Commit |
git show <hash> | Die Änderungen eines einzelnen Commits anzeigen |
git blame file.txt | Anzeigen, wer jede Zeile zuletzt geändert hat |
Änderungen rückgängig machen
Fehler sicher beheben.
| Befehl | Was er tut |
|---|---|
git restore file.txt | Ungestagte Änderungen an einer Datei verwerfen |
git restore --staged file.txt | Eine Datei ungestagen (Änderungen behalten) |
git reset --soft HEAD~1 | Letzten Commit rückgängig machen, Änderungen gestagt lassen |
git reset --hard HEAD~1 | Letzten Commit rückgängig machen und Änderungen verwerfen |
git revert <hash> | Einen neuen Commit erstellen, der einen anderen rückgängig macht |
git stash | Änderungen für später beiseitelegen |
git stash pop | Den neuesten Stash erneut anwenden |
Jeder Git-Befehl, den du brauchst, auf einer Seite. Dieser Git-Spickzettel ist eine Schnellreferenz für die tägliche Versionskontrolle - Git konfigurieren, Änderungen stagen und committen, Branching, Merging und Rebasing, mit Remotes synchronisieren und Fehler rückgängig machen.
Dies sind Standard-Git-Befehle, die auf Linux, macOS und Windows gleich funktionieren. Kopiere, was du brauchst, oder probiere sie live im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Git-Spickzettel-FAQ
Ist dieser Git-Spickzettel kostenlos?
Was ist der Unterschied zwischen Merge und Rebase?
git merge kombiniert zwei Branches, indem es einen neuen Merge-Commit erstellt, der ihre Verläufe zusammenführt und den exakten Verlauf beider bewahrt. git rebase spielt deine Commits stattdessen einen nach dem anderen auf einen anderen Branch neu auf und erzeugt so einen linearen Verlauf ohne Merge-Commit. Merge ist sicher und nicht destruktiv; Rebase erzeugt einen saubereren Verlauf, schreibt aber Commits um, also vermeide es, Branches zu rebasen, die andere bereits gepullt haben.Wie mache ich einen Commit in Git rückgängig?
git reset --soft HEAD~1 den letzten Commit rückgängig, behält die Änderungen aber gestagt, während git reset --hard HEAD~1 sie vollständig verwirft. Für einen bereits geteilten Commit verwende git revert <hash>, um einen neuen Commit zu erstellen, der ihn umkehrt, ohne den Verlauf umzuschreiben.