So löschen Sie einen Branch in Git lokal und remote

So löschen Sie einen Branch in Git lokal und remote

Eine der stärksten Eigenschaften von Git sind die leichten Zweige. Sie ermöglichen ein effizientes Arbeiten an parallel verlaufenden Entwicklungsstufen. Ein Entwickler kann sogar einzelne Zweige für separate Fehler erstellen. Filialen sind zeitlich und räumlich nahezu kostenlos.





Dinge auf einem neuen PC zu installieren

Viele Git-Workflows befassen sich sowohl mit langfristigen als auch mit temporären Branches. Daher besteht oft die Notwendigkeit, während der Entwicklung Zweige zu löschen. Gelegentlich besteht die Notwendigkeit, gemeinsam genutzte Zweigstellen von einem Remote-Server sowie lokale Zweigstellen zu löschen.





Warum eine Filiale löschen?

Erstens, wenn Sie sich noch mit git auseinandersetzen, besteht eine ziemlich gute Chance, dass Sie einen Zweig erstellen und dann entscheiden, dass Sie dies nicht tun müssen. Oder Sie experimentieren mit Zweigen und möchten selbst aufräumen. Dies ist in Ordnung, da das Verzweigen in Git eine leichte Operation ist. Es ist sehr schnell und nutzt den Speicherplatz effizient.





Infolgedessen fördern viele git-Entwicklungsworkflows das Verzweigen, selbst bei sehr kleinen oder kurzen Aufgaben. Eine gängige Strategie besteht beispielsweise darin, eine Filiale erstellen für einen einzelnen Bugfix. Dies gilt selbst dann, wenn nur ein einzelner Autor eine einzeilige Änderung in einer einzelnen Datei vornimmt.

Aus diesen Gründen sind das Erstellen und Löschen von Verzweigungen Vorgänge, die gut verstanden werden müssen. Während eines typischen Entwicklungsworkflows werden Sie möglicherweise häufig Branches löschen.



Ein Beispiel-Repository mit Zweigen

Die folgenden Beispiele beziehen sich auf ein Beispiel-Repository mit folgender Struktur:

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Beachten Sie, dass jeder lokale Zweig einen entsprechenden Upstream-Zweig vom Remote-Zweig hat: Ursprung .





Löschen einer Verzweigung über die Befehlszeile

Die grundlegende Befehlssyntax zum Löschen einer Verzweigung lautet:

git branch (-d | -D) [-r] ...

Die einfachste Form des Befehls löscht eine lokale Verzweigung, sofern alle Änderungen zusammengeführt wurden:





$ git branch -d dev

Sie können den derzeit aktiven Zweig nicht löschen. Wenn Sie dies versuchen, erhalten Sie eine Meldung wie diese:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Wenn alles richtig läuft, sehen Sie eine Bestätigungsnachricht:

Deleted branch dev (was 1ae41e8).

Wenn Sie einen nur lokal vorhandenen Zweig mit nicht zusammengeführten Änderungen löschen, gehen diese Änderungen verloren. Daher weigert sich git standardmäßig, einen Branch in einer solchen Situation zu löschen:

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

Wie die Fehlermeldung mitteilt, können Sie das Löschen mit erzwingen -D Flagge. Mit git können Sie jedoch einen nicht zusammengeführten lokalen Zweig löschen, wenn er remote vorhanden ist:

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

Das Löschen eines Remote-Zweigs ist ganz anders. Sie verwenden die git push Befehl zusammen mit dem -D Markierung zum Löschen. Geben Sie danach den Namen der Fernbedienung ein (oft Ursprung ) und den Filialnamen:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

Lokale und Remote-Branches mit GitHub Desktop löschen

Im Gegensatz zum Befehlszeilen-Git-Programm, Die Desktop-App von GitHub lässt Sie nur den aktiven Zweig löschen. Diese Aktion können Sie über das Zweig Menü, indem Sie die Löschen Option und bestätigen Sie diese:

GitHub Desktop lässt Sie den Standard-Branch nicht löschen – z. main – obwohl git selbst dies unterstützt. Wenn der Standardzweig der derzeit aktive Zweig ist, deaktiviert die App die Menüaktion.

Wenn der Branch auch einen Remote-Branch darstellt, bietet GitHub Desktop die Möglichkeit, ihn auch von der Remote zu löschen:

Löschen von Branches mit GitKraken

GitCrack zeigt die lokalen und entfernten Branches Ihres Repositorys in der linken Seitenleiste an. Sie müssen jeden löschenseparat.

Bewegen Sie den Mauszeiger über den entsprechenden Zweignamen und klicken Sie auf das Zweig Aktionsmenü, das wie drei vertikale Punkte aussieht. Wählen Sie im Menü die Option Löschen :

Sie sehen eine Bestätigungsmeldung, die Sie darüber informiert, dass es sich um einen destruktiven Vorgang handelt. Sie können bestätigen, dass Sie mit dem fortfahren möchten Löschen Taste:

Entsprechend dem Standardverhalten des git-Befehlszeilenprogramms müssen Sie zuerst zu einem anderen Zweig als dem, den Sie löschen, wechseln. Andernfalls wird eine Fehlermeldung angezeigt:

Löschen von lokalen und entfernten Zweigen mit Tower

Löschen einer Filiale mit Turm ist dem Löschen eines Zweigs mit GitKraken sehr ähnlich. Lokale und entfernte Filialen werden in einem Panel auf der linken Seite angezeigt. Klicken Sie mit der rechten Maustaste auf einen beliebigen Zweig und wählen Sie im Kontextmenü die Option Löschen:

Ein wesentlicher Unterschied besteht darin, dass eine entfernte Zweigstelle zusammen mit ihrer lokalen Zweigstelle während der Bestätigung gelöscht werden kann:

Einen Branch auf GitHub löschen

GitHub fungiert nur als Remote-Quelle, daher sind dort standardmäßig Remote-Verzweigungen. Wenn Sie einen Branch über die GitHub-Website löschen, müssen Sie den entsprechenden lokalen Branch mit einer der anderen Methoden hier löschen.

Wie bei der GitHub-Desktop-App können Sie auf der GitHub-Website den Standard-Branch nicht löschen. Die Option wird einfach nicht angezeigt. Das Löschen eines Zweigs ist jedoch einfach. Aus dem Repository Code Seite, klicken Sie auf die Geäst Link, suchen Sie den zu löschenden Zweig und klicken Sie dann auf Diesen Zweig löschen Symbol, das wie ein Papierkorb aussieht:

Beachten Sie, dass es keine Überprüfungen auf nicht zusammengeführte Änderungen gibt, daher wird der Zweig auf GitHub einfach sofort gelöscht. Da es jedoch immer einen Remote-Zweig darstellt, sollte dies das Verhalten sein, das Sie erwarten.

Beachten Sie, dass nach dem Löschen eine Schaltfläche zum Wiederherstellen die Branche. Dies ist jedoch nur eine nützliche Rückgängig-Funktion, falls Sie versehentlich auf das Löschen-Symbol klicken. Verlassen Sie sich nicht darauf, denn sobald Sie die Seite aktualisieren oder verlassen, verlieren Sie die Option!

Lokale und Remote Branches auf Bitbucket löschen

Bitbucket erlaubt Ihnen wie GitHub nicht, den Standard-Branch zu löschen. Bitbucket nennt das das Hauptniederlassung in Repository-Einstellungen . Sie können jede andere Filiale löschen, die auf der aufgeführt ist Geäst Registerkarte, über die entsprechende Aktionen Speisekarte:

Sie können auch mehrere Zweige gleichzeitig löschen, wenn Sie eine große Bereinigungsoperation durchführen:

Das Löschen von Branches ist Teil eines typischen Git-Workflows

Git-Branches können Ihren Workflow komplizieren, insbesondere einen mit lokalen, Remote- und Tracking-Branches. Aber für die einfache tägliche Entwicklung werden Sie wahrscheinlich ständig lokale Zweige erstellen und löschen. Dies ist ein Kernaspekt eines typischen Git-Workflows, an den Sie sich gewöhnen sollten.

Teilen Teilen Tweet Email So verwenden Sie Git-Branches, um Ihr Programmierprojekt zu strukturieren

In diesem Artikel sehen wir uns an, was das Verzweigen Ihres Codes bedeutet, wie es geht und wie Sie Aktualisierungen des 'main'-Git-Zweigs verwalten.

Weiter lesen
Verwandte Themen
  • Programmierung
  • GitHub
Über den Autor Bobby Jack(58 veröffentlichte Artikel)

Bobby ist ein Technologie-Enthusiast, der fast zwei Jahrzehnte lang als Software-Entwickler gearbeitet hat. Er hat eine Leidenschaft für Spiele, arbeitet als Rezensionsredakteur beim Switch Player Magazine und vertieft sich in alle Aspekte des Online-Publishing und der Webentwicklung.

Mehr von Bobby Jack

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren