Direkt zum Inhalt

Git Zweig löschen: Wie man lokale und entfernte Zweige entfernt

In diesem Leitfaden wird erklärt, wie du Zweige in Git löschst - lokal und aus der Ferne - und dabei die besten Methoden befolgst, um versehentlichen Datenverlust zu vermeiden.
Aktualisierte 13. März 2025  · 15 Min. Lesezeit

Wenn du wie ich ein aktiver Git-Benutzer bist, hast du wahrscheinlich einen Haufen alter Zweige angehäuft. Einige wurden zusammengelegt, andere aufgegeben, und an manche kannst du dich nicht einmal mehr erinnern. Diese Zweige zu behalten, scheint keine große Sache zu sein, aber mit der Zeit können sie dein Projektarchiv unübersichtlich machen und es erschweren, die aktive Arbeit zu verfolgen.

In diesem Leitfaden erkläre ich dir, wie du Git-Zweige lokal und aus der Ferne löschst, welche Methoden am sichersten sind und auf welche Fallstricke du achten solltest.

Was bewirkt das Löschen eines Git-Zweiges?

Git-Zweige sind von vornherein temporär. Hier kannst du an neuen Funktionen, Fehlerbehebungen oder Experimenten arbeiten, ohne die Hauptcodebasis zu beeinträchtigen. Aber wenn ein Ast seinen Zweck erfüllt hat, bringt er nur unnötige Unordnung mit sich. Das Löschen von Zweigen ist meiner Meinung nach eine gute Hausarbeit, um deinen Git-Workflow sauber und übersichtlich zu halten.

Ich möchte noch einmal betonen, dass das "Löschen" eines Zweigs nicht dasselbe ist wie das "Auslöschen" deiner Arbeit. Wenn du einen Zweig in Git löschst, löschst du nicht die Commits, sondern nur den Verweis auf sie. So funktioniert es:

  • Wenn du einen lokalen Zweig löschst, wird er aus deinem persönlichen Repository entfernt. Wenn ein anderer Branch oder Tag diese Commits nicht referenziert, werden sie möglicherweise von der Garbage Collection von Git bereinigt.
  • Wenn du einen entfernten Zweig löschst, wird er aus dem gemeinsamen Repository(z. B. GitHub, GitLab, Bitbucket) entferntund ist damit für die Mitwirkenden nicht mehrzugänglich. Lokale Kopien dieses Zweigs auf anderen Rechnern bleiben jedoch erhalten, bis sie manuell entfernt oder aktualisiert werden.

Warum einen Zweig löschen?

Einen Zweig zu löschen, ist schlicht und einfach gute Haushaltsführung. Genauso wie es eine gute Praxis ist, doppelte Fotos, alte Downloads und veraltete Ordner zu löschen, gibt es mehrere gute Gründe, einen Zweig zu löschen, wenn du ihn nicht mehr brauchst:

  • Es hält dein Repository sauber. Zu viele Zweige, vor allem veraltete, erschweren es, die aktive Arbeit zu verfolgen.
  • Das verhindert Verwirrung. Wenn ein Zweig nicht mehr relevant ist, kann seine Beibehaltung zu Unsicherheiten darüber führen, ob er noch in Gebrauch ist.
  • Es verbessert die Zusammenarbeit. In Teamumgebungen signalisiert das Löschen abgeschlossener Funktionszweige, dass die Arbeit abgeschlossen ist und verhindert unnötige Arbeit an veraltetem Code.
  • Es reduziert die Aufblähung von Remote-Repositorien. Entfernte Repositorys können mit veralteten Zweigen überladen werden, was es dir (oder einem Betrachter) erschwert, in der Projekthistorie zu navigieren.

Wenn du Git noch nicht kennst oder es erst einrichten musst, bevor du Zweige verwalten kannst, findest du im Git-Installationstutorial eine Schritt-für-Schritt-Anleitung.

Lerne heute die Git-Grundlagen

Für Anfänger: Master-Versionskontrolle mit Git.
Kostenloses Lernen beginnen

Einen lokalen Git-Zweig löschen

Einen lokalen Zweig zu löschen ist nicht schwer; zum Glück ist es eine der einfacheren Git-Aufgaben. Wir schauen uns an, wie du am sichersten vorgehst und worauf du achten musst.

Der grundlegende Befehl zum Löschen eines lokalen Zweigs

Der sicherste Weg, einen lokalen Zweig zu löschen, ist das -d Flag:

git branch -d <branch_name>

Beachte, dass dieser Befehl nur funktioniert, wenn der Zweig vollständig mit dem aktuellen Zweig zusammengeführt wurde (normalerweise main oder master). Wenn es noch nicht gemachte Änderungen gibt, wird Git dich stoppen, um einen versehentlichen Datenverlust zu verhindern.

Erzwingen des Löschens eines lokalen Zweigs

Wenn du versuchst, einen Zweig zu löschen, der noch nicht gemeldete Änderungen enthält, lässt Git dich nicht, es sei denn, du erzwingst es:

git branch -D <branch_name>

Das -D Flag (beachte den Großbuchstaben) überspringt die Sicherheitsprüfung und löscht den Zweig sofort, egal ob er zusammengeführt wurde oder nicht. Ich würde dir dringend raten, dabei vorsichtig zu sein. Jede nicht gemischte Arbeit geht verloren, es sei denn, du hast ein Backup oder einen anderen Branch, der auf dieselben Commits zeigt.

Vor dem Löschen auf nicht markierte Änderungen prüfen

Bevor du einen Zweig löschst, solltest du prüfen, ob er noch nicht zusammengefasste Änderungen enthält. Du kannst dies mit tun:

git branch --no-merged

Der obige Befehl listet alle Zweige auf, die noch nicht mit dem aktuellen Zweig zusammengeführt wurden. Wenn die Datei, die du löschen willst, in dieser Liste erscheint, überprüfe noch einmal, dass du die Änderungen nicht brauchst, bevor du fortfährst.

Willst du eine Kurzreferenz für Git-Befehle, einschließlich des Löschens von Zweigen? Lade dase praktische Git Cheat Sheet herunter.

Einen entfernten Git-Zweig löschen

Das Löschen eines entfernten Zweigs ist etwas anders als das Löschen eines lokalen Zweigs. Da Remote-Zweige in gemeinsam genutzten Repositories existieren, hilft das Entfernen dieser Zweige dabei, Ordnung zu schaffen und zu verhindern, dass veraltete Zweige die Arbeitsabläufe im Team durcheinander bringen.

Der grundlegende Befehl zum Löschen eines entfernten Zweigs

Um einen Zweig aus einem entfernten Repository wie GitHub, GitLab oder Bitbucket zu löschen, verwendest du:

git push origin --delete <branch_name>

Dieser Befehl entfernt den Verweis auf den Zweig aus dem entfernten Repository und macht ihn für andere unzugänglich. Lokale Kopien des Zweigs auf anderen Rechnern sind davon jedoch nicht betroffen, sie müssen separat bereinigt werden.

Überprüfung der Löschung eines entfernten Zweigs

Nachdem du einen entfernten Zweig gelöscht hast, musst du bestätigen, dass er tatsächlich verschwunden ist. Als erstes holst du dir die neuesten Updates aus dem Remote-Repository:

git fetch --prune

Dadurch werden veraltete Verweise auf die Fernverfolgung entfernt. Um zu überprüfen, ob der Zweig nicht mehr aufgeführt ist, führe Folgendes aus:

git branch -r

Der obige Befehl zeigt alle verbleibenden entfernten Zweige an. Wenn der gelöschte Zweig immer noch auftaucht, versuche es mit einem anderen git fetch --prune oder stelle sicher, dass der Löschbefehl auf der richtigen Remote ausgeführt wurde.

Best Practices für das Löschen von Git-Zweigen

Das Löschen von Zweigen ist ein Routinevorgang bei der Arbeit mit Git, aber wenn du es richtig machst, kannst du dir unnötige Kopfschmerzen ersparen. Hier sind einige bewährte Methoden, um dein Repository zu organisieren und mögliche Fehler zu vermeiden.

Vermeide das vorzeitige Löschen von nicht zusammengeführten Zweigen

Bevor du einen Zweig löschst, vergewissere dich, dass er keine noch nicht gemerkten Arbeiten enthält, die noch benötigt werden. Wenn du dir unsicher bist, überprüfe den Status mit:

git branch --no-merged

Wenn der Zweig wertvolle Änderungen enthält, die noch nicht zusammengeführt wurden, solltest du sie zuerst zusammenführen oder archivieren, anstatt sie gleich zu löschen.

Nach dem Zusammenführen löschen

Sobald ein Feature oder eine Korrektur in den Hauptzweig (main oder master) eingefügt wurde, gibt es keinen Grund mehr, den alten Zweig zu behalten. Wenn du zusammengeführte Zweige löschst, vermeidest du Unordnung und kannst leichter erkennen, welche Zweige noch aktiv sind.

Kommuniziere mit deinem Team

Wenn du an einem gemeinsamen Projekt arbeitest, solltest du es aus Höflichkeit vermeiden, einen Zweig zu löschen, ohne dein Team zu informieren. Das kann zu Verwirrung führen - oder schlimmer noch, die Arbeit eines anderen stören. Bevor du einen entfernten Zweig entfernst, solltest du dich bei deinem Team vergewissern, dass er nicht mehr benutzt wird. Ich bevorzuge eine einfache Slack-Nachricht oder Notiz, um Frustration zu vermeiden.

Bevor du einen Zweig löschst, solltest du deinen Commit-Verlauf aufräumen, indem du Commits löschst. Wie das geht, erfährst du in unserem Git Squash Commits Tutorial.

Häufige Probleme beim Löschen von Git-Zweigen

Das Löschen von Zweigen in Git ist in der Regel problemlos, aber es gibt ein paar häufige Fallstricke, über die du stolpern kannst. Hier erfährst du, worauf du achten musst und wie du mit diesen Problemen umgehst, wenn sie auftauchen.

Löschen eines Zweigs, der nicht vollständig zusammengeführt wurde

Auch hier gilt: Wenn du versuchst, mit git branch -d einen Zweig zu löschen, der noch nicht gemeldete Änderungen enthält, wird Git dich daran hindern, um einen möglichen Datenverlust zu verhindern. Das ist eine Ausfallsicherung. Alle nicht gemerkten Arbeiten gehen verloren, wenn du sie mit -D zwangsweise löschst.

Wenn du einen Zweig bereits gelöscht hast und merkst, dass du ihn wieder brauchst, kannst du ihn vielleicht mit Git's reflog wiederherstellen:

git reflog
git checkout -b <branch_name> <commit_hash>

So kannst du den Zweig von seinem letzten bekannten Commit wiederherstellen, wenn er nicht komplett durch die Garbage Collection verloren gegangen ist.

Löschen des aktuellen Zweigs

Git lässt es nicht zu, dass du den Zweig löschst, in dem du dich gerade befindest, was sinnvoll ist, da du sonst ohne aktiven Zweig dastehen würdest. Wenn du beim Versuch, einen Zweig zu löschen, eine Fehlermeldung erhältst, wechsle zuerst zu einem anderen Zweig:

git checkout main

Oder, wenn du Git 2.23+ verwendest:

git switch main

Sobald du auf einem anderen Zweig bist, kannst du den Zweig, den du entfernen wolltest, sicher löschen.

Musst du zwischen Zweigen wechseln, bevor du einen löschst? Unsere Anleitung zum Auschecken eines entfernten Zweigs in Git führt dich durch den Prozess.

Versehentliches Löschen eines entfernten Zweigs

Wenn ein entfernter Zweig versehentlich gelöscht wurde, kannst du ihn wiederherstellen (vorausgesetzt, du hast noch eine lokale Kopie), indem du ihn auf den entfernten Zweig zurückschiebst:

git push origin <deleted_branch_name>

Dadurch wird der Zweig auf dem entfernten Repository neu erstellt und der Zugriff der Mitarbeiter wiederhergestellt. Wenn keine lokale Kopie existiert, musst du eventuell manuell deinen Commit-Verlauf überprüfen und den Zweig neu erstellen.

Warum kann ich einen Git-Zweig nicht löschen?

Wenn du Probleme hast, einen Zweig in Git zu löschen, überprüfe die allgemeinen Probleme: Überprüfe, ob er vollständig zusammengeführt wurde, ob du dich gerade auf dem Zweig befindest oder ob es sich um einen entfernten Zweig handelt. Von hier aus kann es an deinen Einstellungen oder Berechtigungen liegen.  

  1. Als Erstes musst du prüfen, ob du dich gerade in diesem Zweig befindest. Git lässt es nicht zu, dass du einen Zweig löschst, an dem du gerade arbeitest, also musst du zuerst zu einem anderen Zweig wechseln. 
  2. Wenn das nicht der Fall ist, kann es sein, dass der Zweig immer noch nicht gemeldete Änderungen enthält. Git schützt Zweige mit nicht gemergeder Arbeit. Wenn du also nicht absolut sicher bist, dass du diese Änderungen nicht brauchst, musst du den Zweig mit git branch -D branch-name zusammenführen oder zwangslöschen.
  3. Wenn du versuchst, einen entfernten Zweig zu löschen, wird ein einfaches git branch -d nicht ausreichen. Stattdessen musst du git push origin --delete branch-name ausführen, und um alte Referenzen zu bereinigen, kannst du git fetch --prune verwenden. 
  4. Einige Repositories, vor allem solche auf Plattformen wie GitHub oder GitLab, haben geschützte Zweige, die nicht gelöscht werden können, ohne die Einstellungen zu ändern. Wenn du in einem gemeinsam genutzten Repository arbeitest, brauchst du vielleicht auch die richtigen Rechte, um Zweige zu löschen.

Steckst du immer noch fest? Wenn du git branch -v ausführst, erhältst du mehr Informationen über den Status des Zweigs und kannst herausfinden, was los ist, bevor du es erneut versuchst.

Automatisierung der Zweigbereinigung mit Git

Ich liebe gute Automatisierung. Obwohl das manuelle Löschen von Zweigen gut funktioniert und du wissen solltest, wie man es macht, gibt es noch einen anderen Weg. Wenn du mit vielen Zweigen zu tun hast (z.B. in einem Team), kann die Automatisierung Zeit sparen und für mehr Ordnung sorgen. Git bietet einige Möglichkeiten, um das Aufräumen von Zweigen zu vereinfachen und so das Durcheinander zu reduzieren, ohne zusätzlichen Aufwand zu verursachen.

Automatisiere die Bereinigung entfernter Zweige

Wenn ein entfernter Zweig gelöscht wird, behält dein lokales Git noch einen Verweis darauf, bis du ihn manuell aktualisierst. Anstatt sie einzeln aufzuräumen, kannst du sie verwenden:

git fetch --prune

Der obige Befehl entfernt automatisch lokale Verweise auf Zweige, die im entfernten Repository nicht mehr existieren, damit alles synchron bleibt. Indem du dies regelmäßig tust, verhinderst du, dass sich veraltete Zweige in deinem lokalen Repo ansammeln.

Verwende Git-Hooks zum Aufräumen

Für Teams oder größere Projekte können Git-Hooks dabei helfen, das Aufräumen von Zweigen zu automatisieren. Hooks sind benutzerdefinierte Skripte, die an bestimmten Punkten im Git-Workflow ausgeführt werden, zum Beispiel nach dem Zusammenführen eines Zweigs. Du kannst einen Post-Merge-Hook so konfigurieren, dass zusammengeführte Zweige nach einer bestimmten Zeit automatisch gelöscht werden, damit alte Zweige nicht unnötig lange bestehen bleiben.

Fazit

Verzweigungen können mit der Zeit unübersichtlich werden, aber ein bisschen "Trimmen" hilft, dein Repository sauber und deinen Workflow effizient zu halten. Wenn du es dir zur Gewohnheit machst, zusammengeführte Zweige zu löschen, nicht zusammengeführte Zweige doppelt zu überprüfen und die Kommunikation in Teamprojekten offen zu halten, kannst du diese Probleme vermeiden. Und wenn du noch einen Schritt weiter gehen willst, können Automatisierungstools wie git fetch --prune und Git-Hooks dabei helfen, dein Repo ohne zusätzlichen Aufwand sauber zu halten.

Das Löschen von Zweigen ist nur ein Schritt, um Git zu beherrschen. Um dein Verständnis von Versionskontrolle zu vertiefen, schau dir den Kurs Git für Fortgeschrittene an. Wenn du mit GitHub-Repositories arbeitest, ist ein solides Verständnis der Kernkonzepte von GitHub unerlässlich. Erfahre mehr im Kurs Einführung in die GitHub-Konzepte!

Lerne heute die Git-Grundlagen

Für Anfänger: Master-Versionskontrolle mit Git.

FAQs

Kann sich das Löschen eines Zweigs in Git auf meinen Produktionscode auswirken?

Nein, das Löschen eines Zweigs hat keine Auswirkungen auf den Produktionscode, solange der Zweig bereits in deinen Hauptzweig (main oder master) zusammengeführt wurde. Wenn du jedoch einen Zweig mit nicht zusammengeführten Änderungen löschst, gehen alle Arbeiten verloren, die noch nicht in einen anderen Zweig eingeflossen sind. Überprüfe immer den Zusammenführungsstatus, bevor du löschst.

Wie kann ich verhindern, dass mein Team versehentlich wichtige Zweige löscht?

Wenn du in einem gemeinsam genutzten Repository (GitHub, GitLab usw.) arbeitest, kannst du kritische Zweige wie main und develop schützen, indem du Regeln für den Zweigschutz festlegst. Das hilft, versehentliche Löschungen und unbefugte Force-Pushs zu verhindern. Für lokale Repositories solltest du Namenskonventionen verwenden (z.B. aktive Zweige mit wip- für "work in progress"), um zu zeigen, welche Zweige noch nicht entfernt werden sollten.

Gibt es einen Lernpfad, um herauszufinden, wer einen entfernten Git-Zweig gelöscht hat?

Ja, in Repositories, die auf GitHub, GitLab oder Bitbucket gehostet werden, werden Löschungen von Zweigen normalerweise im Aktivitäts-Feed protokolliert. Du kannst in den Audits deines Repositorys Logs oder in der Commit-Historie nachsehen, wer wann einen Branch gelöscht hat. Für selbst gehostete Git-Repositories musst du eventuell serverseitige Hooks einrichten, um Löschungen manuell zu verfolgen.

Wie kann ich einen gelöschten Git-Zweig wiederherstellen, wenn ich mein Terminal geschlossen habe?

Wenn du einen Zweig gelöscht und dein Terminal nicht geschlossen hast, kannst du es mit rückgängig machen:

git checkout -b

Wenn du dein Terminal jedoch bereits geschlossen hast, ist die beste Option, git reflog zu verwenden.

Hier wird ein Verlauf der letzten Aktionen angezeigt, einschließlich des Löschens von Zweigen. Finde den letzten Commit-Hash des gelöschten Zweigs und benutze ihn, um den Zweig neu zu erstellen. Wenn der Zweig jedoch aus der Ferne und lokal gelöscht wurde und niemand sonst eine Kopie hat, ist eine Wiederherstellung möglicherweise nicht möglich.

Was ist der Unterschied zwischen `git branch -d` und `git branch -D` in der praktischen Anwendung?

  • git branch -d - Sicheres Löschen. Sie verhindert das Löschen, wenn der Zweig noch nicht zusammengefasste Änderungen enthält und dient als Sicherheitsnetz.
  • git branch -D - Löschen erzwingen. Es ist egal, ob der Zweig noch nicht gemeldete Änderungen enthält - er wird sofort entfernt.

In einem realen Szenario würdest du die meiste Zeit -d verwenden, um zu vermeiden, dass du versehentlich Arbeit verlierst. Verwende -D nur, wenn du dir 100%ig sicher bist, dass der Inhalt des Zweigs nicht mehr benötigt wird.


Ashlyn Brooks's photo
Author
Ashlyn Brooks

Themen

Lerne mit diesen Kursen mehr über Git!

Zertifizierung verfügbar

Kurs

Einführung in Git

2 hr
16.3K
Entdecke die Grundlagen von Git für die Versionskontrolle in deinen Software- und Datenprojekten.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen