Das Löschen eines Branches in GitHub mag einfach erscheinen, ist aber manchmal etwas komplizierter als nur ein Klick auf eine Schaltfläche oder das Ausführen eines Befehls. Besonders wenn Sie sowohl mit lokalen Kopien als auch mit dem Remote-Repo arbeiten, kann es schnell verwirrend werden. Diese Anleitung soll den Vorgang vereinfachen und die üblichen Möglichkeiten zum Entfernen von Branches erläutern, unabhängig davon, ob Sie mit der Befehlszeile vertraut sind oder lieber auf der GitHub-Weboberfläche herumklicken. Es ist ziemlich ärgerlich, wenn alte Branches das Repo überladen. Ihre Entfernung schafft nicht nur Ordnung, sondern verhindert auch versehentliche Commits auf veralteten Branches.
Wie lösche ich einen GitHub-Zweig?
Methode 1: Löschen eines lokalen Zweigs
Dieser Schritt dient der Bereinigung Ihres lokalen Rechners, insbesondere wenn Sie den Zweig bereits zusammengeführt haben oder einfach nur Ihren Arbeitsbereich aufräumen möchten. Dies ist nützlich, wenn Sie einen Feature- oder Bugfix-Zweig fertiggestellt haben und dieser Ihre Liste nicht mehr verstopfen soll.
- Öffnen Sie Ihr Terminal oder die Eingabeaufforderung. Unter Windows kann dies PowerShell oder die Eingabeaufforderung sein. Unter Mac/Linux öffnen Sie einfach das Terminal.
- Navigieren Sie zu Ihrem Repo-Ordner. Normalerweise sieht dieser so aus:
cd /path/to/your/repo
. - Überprüfen Sie Ihre Zweige:
git branch
. Es ist hilfreich, zu sehen, was da ist, bevor Sie etwas löschen. - Löschen Sie einen zusammengeführten Zweig mit:
git branch -d branch-name
. Dieser Befehl schützt vor dem Löschen nicht zusammengeführter Änderungen. Wenn nicht zusammengeführte Änderungen gemeldet werden, überprüfen Sie Ihre Commits oder wenden Sie Force an. - Um das Löschen eines nicht zusammengeführten Zweigs wirklich zu erzwingen (weil die Sicherheitsüberprüfung manchmal nervt):
git branch -D branch-name
.
Dies betrifft nur Ihre lokale Kopie – keine Auswirkungen auf das Remote-Repository. Viele Leute vergessen das, seien Sie also vorsichtig. Manchmal hat man das Gefühl, Windows müsse die Dinge unnötig kompliziert machen, aber so läuft es nun einmal bei Git.
Methode 2: Löschen eines Remote-Zweigs
Bereit, den Branch auf GitHub zu löschen? Dadurch wird er aus dem Remote-Repository – dem auf den GitHub-Servern – entfernt, sodass niemand mehr darauf zugreifen oder daran herumbasteln kann. Stellen Sie sicher, dass Sie wichtige Änderungen zusammengeführt oder gepusht haben, sonst gehen sie verloren – nur zur Info.
- Überprüfen Sie zunächst den Status Ihres Repo: Stellen Sie sicher, dass alle erforderlichen Änderungen übertragen oder zusammengeführt werden.
- Führen Sie diesen Befehl aus:
git push origin --delete branch-name
. - Oder Sie können dasselbe mit dieser Abkürzung tun:
git push origin :branch-name
. Das fühlt sich manchmal komisch an, funktioniert aber genauso gut.
Dieser umweltfreundliche Ansatz entrümpelt Ihr GitHub-Repo. Bei manchen Setups kann der Löschbefehl einige Sekunden dauern oder zunächst gar nichts bewirken, aber wenn Sie die GitHub-Seite aktualisieren, sollte der Branch verschwunden sein. Denn natürlich muss GitHub es unnötig erschweren.
Methode 3: Verwenden Sie die GitHub-Weboberfläche
Sie klicken lieber, als Befehle einzugeben? Kein Problem. So löschen Sie einen Zweig direkt auf der Site:
- Öffnen Sie Ihr Repo natürlich in einem Browser.
- Gehen Sie zur Registerkarte „Branches“ (normalerweise unter dem Repo-Namen, neben „Code“ oder „Pull Requests “).
- Suchen Sie den Zweig, den Sie löschen möchten. Manchmal ist Scrollen erforderlich, insbesondere wenn Sie Dutzende von Zweigen haben.
- Klicken Sie daneben auf das Papierkorbsymbol (🗑️).
Einfach so ist der Branch verschwunden. Soweit ich weiß, ist dies der schnellste Weg, insbesondere wenn Sie bereits GitHub durchsuchen. Manchmal erhalten Sie eine Warnung, dass der Branch geschützt oder der Standard-Branch ist. In diesem Fall müssen Sie zuerst den Standard-Branch ändern. Das kann mühsam sein, da GitHub das Löschen des Haupt-Branchs ohne Umstellung nicht zulässt.
FAQs
Gehen Sie in GitHub Desktop einfach zum Branch -Menü, wählen Sie den Branch aus und klicken Sie auf Löschen. Das ist ziemlich intuitiv, aber stellen Sie sicher, dass der Branch nicht ausgecheckt oder geschützt ist.
Ja, wenn Sie sich an die Commits erinnern oder den Branch noch lokal haben, können Sie ihn wiederherstellen. Manchmal hilft Ihnen der Reflog- oder Commit-Verlauf dabei, ihn zu finden und neu zu erstellen, insbesondere wenn Sie ihn nicht vom Remote-Server gelöscht haben.
Nein. Die Commits selbst bleiben im Repository-Verlauf. Branches sind nur Zeiger. Stellen Sie es sich wie das Löschen eines Lesezeichens vor, nicht wie das Löschen der Seiten.
Nicht wirklich. Der Standardzweig (wie main oder master ) kann nicht gelöscht werden, es sei denn, Sie ändern zuerst den Standardzweig. Dies ist eine Sicherheitsfunktion, da Dinge wie CI/CD-Pipelines oft darauf angewiesen sind.
Zusammenfassung
Das Entfernen alter Branches in GitHub ist eine Mischung aus Befehlen und Klicks, je nachdem, was Sie bevorzugen. Wichtig: Löschen Sie bei Bedarf zuerst lokal und entfernen Sie die Branches dann aus GitHub, um das Repo übersichtlich zu halten. Es ist ein gutes Gefühl, wenn man viele veraltete Branches aussortiert, und es hilft, spätere Verwirrungen zu vermeiden. Ein kurzer Spaziergang durch die Natur für die Branches Ihres Repos.
Hoffentlich spart dies jemandem ein paar Stunden oder macht den Vorgang zumindest weniger lästig.
Zusammenfassung
- Verwenden Sie
git branch -d
odergit branch -D
zur lokalen Bereinigung. - Ausführen
git push origin --delete branch-name
odergit push origin :branch-name
zum Remote-Löschen. - Oder klicken Sie einfach auf das Papierkorbsymbol in der Weboberfläche von GitHub, um Zweige visuell zu löschen.
- Denken Sie daran, dass beim Löschen eines Zweigs keine Commits gelöscht werden, sondern nur der Zeiger.