Git: Einen lokalen Branch löschen
Zuletzt aktualisiert
Sobald die Arbeit eines Branches gemergt ist, löschst du ihn mit git branch -d <branch>. Git verweigert dies, wenn der Branch Commits enthält, die nirgends gemergt sind - eine Sicherheitsprüfung. Um ihn trotzdem zu löschen, verwende das große -D. Das Löschen eines lokalen Branches berührt niemals die Kopie auf dem Remote; das ist ein separater Befehl.
Probier das im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git branch -d feature | Löscht feature (nur wenn gemergt) |
git branch -D feature | Erzwingt das Löschen von feature, auch wenn nicht gemergt |
git branch -d branch1 branch2 | Löscht mehrere Branches auf einmal |
Häufige Fälle
| Goal | Command |
|---|---|
| Einen gemergten Branch löschen | git branch -d old-feature |
| Einen nicht gemergten Branch erzwungen löschen | git branch -D scratch |
| Den Branch löschen, auf dem du bist | git switch main dann git branch -d feature |
| Sehen, welche Branches gemergt sind | git branch --merged |
Durchgespieltes Beispiel
Schließe ein Feature ab, merge es und räume den lokalen Branch auf.
| Step | Command | Result |
|---|---|---|
| 1 | git switch main | Wechsle vom Branch weg, den du löschen willst |
| 2 | git merge feature | Bring die Commits des Features nach main |
| 3 | git branch -d feature | Lösche den nun gemergten Branch |
FAQ zum Löschen eines lokalen Git-Branches
Was ist der Unterschied zwischen git branch -d und -D?
-d ist das sichere Löschen: Git entfernt den Branch nur, wenn seine Commits bereits in einen anderen Branch gemergt sind, sodass du nicht versehentlich Arbeit verlieren kannst. -D ist das erzwungene Löschen (Kurzform für --delete --force): Es entfernt den Branch auf jeden Fall, selbst wenn er nicht gemergte Commits hat. Verwende standardmäßig -d und greife nur zu -D, wenn du sicher bist, dass du die Commits des Branches verwerfen willst.Wie lösche ich den Branch, auf dem ich mich gerade befinde?
Du kannst den ausgecheckten Branch nicht löschen. Wechsle zuerst mit
git switch main (oder git checkout main) auf einen anderen Branch und führe dann git branch -d feature aus. Wenn du versuchst, den aktuellen Branch zu löschen, gibt Git den Fehler "Cannot delete branch ... checked out" aus.Löscht das Löschen eines lokalen Branches ihn auch auf GitHub?
Nein.
git branch -d entfernt den Branch nur aus deinem lokalen Repository. Der Branch auf dem Remote (GitHub, GitLab usw.) bleibt bestehen, bis du ihn separat mit git push origin --delete feature löschst.Kann ich einen gelöschten Branch wiederherstellen?
Meist ja, wenn es kürzlich war. Führe
git reflog aus, um den Commit zu finden, auf den der Branch zeigte, und erstelle ihn dann mit git branch feature <commit-hash> neu. Die Commits werden nicht sofort per Garbage Collection entfernt, daher lässt sich ein versehentlich gelöschter Branch normalerweise wiederherstellen.Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um diese Befehle in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Wenn du Struktur möchtest, führt dich Coddys kostenloser interaktiver Git-Kurs Schritt für Schritt von deinem ersten Commit über das Branching bis zum Merging.