Wie lösche ich den GitHub-Zweig?

Das Entfernen von nicht mehr benötigten Elementen ist ein notwendiger Schritt. Es schafft Raum für Neues und erleichtert die Pflege des Bestehenden. In diesem Artikel betrachten wir verschiedene Methoden zum Löschen eines Branches in GitHub.

Branches sind für Entwickler von unschätzbarem Wert. Wer selbst entwickelt, weiß, was gemeint ist. Wenn du mit der praktischen Anwendung von Branches vertraut bist, kannst du den folgenden Abschnitt überspringen und direkt zum Teil über das Löschen von Branches gehen. Bist du jedoch neu in diesem Thema oder neugierig, lies bitte weiter.

Was genau sind Branches?

Ein Branch ist ein Zeiger, der auf einen Commit verweist. Um Branches wirklich zu verstehen, reicht das Lesen allein nicht aus. Wir müssen uns ansehen, wie Branches funktionieren.

Anhand einiger Illustrationen werden wir sehen, wie Entwickler Branches in ihren Projekten einsetzen. Jeder Kreis in den folgenden Darstellungen repräsentiert einen Commit.

Lass uns den Workflow von Branches anhand eines einfachen, praxisnahen Szenarios betrachten.

  • Stell dir vor, du arbeitest in einem Produktentwicklungsteam.
  • Eines Tages kommt dein Teamleiter auf dich zu und sagt: „Wir haben einige Fehler im Produkt. Du musst sie beheben.“
  • Deine Antwort: „In Ordnung.“
  • Deine Git-Commits sehen etwa so aus:

Git-Commits

  • Arbeitest du direkt vom Master-Branch aus?
  • Natürlich nicht. Das könnte in Zukunft zu ernsten Problemen führen, wie wir später zeigen werden.
  • Du entscheidest dich, einen neuen Branch vom Master-Branch abzuzweigen, um die Fehler zu beheben. Beide Branches zeigen zunächst auf denselben Commit.

Neuer Branch

  • Du beginnst mit der Fehlerbehebung und führst fünf Commits durch. Der neue Branch entwickelt sich somit weiter.

Neue Commits

  • Dein neuer Branch zeigt nun auf den Commit C8, während der Master-Branch auf Commit C3 zeigt.
  • Nun geschieht etwas Unerwartetes. Dein Team bittet dich erneut: „Wir haben einen kritischen Fehler im Produkt, der sofort behoben werden muss.“
  • Das ist eine Menge!
  • Du bist bereits mit der Fehlerbehebung beschäftigt. Nun sind noch wichtigere Fehler aufgetaucht.
  • Du musst also wechseln, um die neuen Fehler zu beheben.
  • Was passiert mit dem Code, den du bis dahin geschrieben hast?
  • Kein Problem! Da du einen neuen Branch für die vorherigen Fehler erstellt hast, befindet sich der gesamte Code in diesem Bugfix-Branch.
  • Nun wechselst du zurück zum Master-Branch und erstellst einen neuen Branch namens „critical-bug-fix“.

Ein weiterer neuer Branch

  • Nehmen wir an, du hättest keinen neuen Branch für die ersten Fehler erstellt. Was wäre passiert?
  • Du müsstest den gesamten Code, den du für die früheren Fehler geschrieben hast, löschen und mit der Arbeit an den neuen Fehlern beginnen. Irgendwann müsstest du den gesamten Code für die früheren Fehler erneut schreiben.
  • Das ist genau das Problem, von dem wir sprechen.
  • Branches helfen uns also, Code unabhängig zu entwickeln.
  • Nachdem du die Fehler behoben hast, führst du die Commits durch.

Neue Branch-Commits

  • Du hast die neuen Fehler erfolgreich behoben.
  • Jetzt wechselst du zurück zum vorherigen Branch und arbeitest dort weiter.

Du verwaltest die Dinge also sehr sorgfältig mithilfe von Branches. Es herrscht keine Verwirrung. Stell dir nur vor, wo wir ohne Branches wären.

Die Schlussfolgerung ist klar: Branches sind ein Segen für Entwickler wie uns.

Lass uns nun ohne Umschweife sehen, wie man einen Branch löscht.

Löschen eines Branch mit dem Git-Client

Wenn wir über das Löschen eines Branches sprechen, meinen wir das lokale und das Remote-Repository. Sei also nicht verwirrt, wenn wir denselben Branch zweimal löschen. Hier sind die Schritte zum Löschen eines Branches:

  • Öffne das Terminal oder die Eingabeaufforderung und navigiere zum Git-Repository.
  • Lass dir die Branches im Repository anzeigen mit dem Befehl git branch -a. Das zeigt sowohl lokale als auch Remote-Branches.

Repository-Branches

  • Kopiere den Namen des Branches, den du löschen möchtest. Im obigen Beispiel ist es „eins“.
  • Wechsle zum Master- oder Main-Branch oder einem anderen Branch, der nicht der Branch ist, den du löschen möchtest.
  • Lösche den Branch lokal mit git branch -d branchName. Ersetze branchName durch den tatsächlichen Branch-Namen.

Lokalen Branch löschen

  • Überprüfe die Branches mit dem Befehl git branch -a. Du wirst feststellen, dass der gelöschte Branch immer noch im Remote-Repository vorhanden ist, da wir ihn dort noch nicht entfernt haben.

Branch-Liste

  • Um den Branch auch im Remote-Repository zu löschen, nutze den Befehl git push remoteName -d branchName. Ersetze remoteName und branchName mit den entsprechenden Namen.

Remote-Branch löschen

  • Es gibt einen kürzeren Befehl, um den Branch remote zu löschen: git push remoteName :branchName.

Überprüfe nun die Branches erneut. Wenn du die obigen Schritte richtig ausgeführt hast, wirst du den gelöschten Branch weder lokal noch remote finden.

Branch-Liste

Wenn wir versuchen, einen nicht existierenden Branch zu löschen, erhalten wir eine Fehlermeldung, die besagt, dass der Branch nicht gefunden wurde.

Löschfehler

Das war’s! Wir haben erfolgreich einen Branch sowohl lokal als auch remote gelöscht.

Es gibt auch eine alternative Möglichkeit, dies über die GitHub-Webanwendung zu tun.

Schauen wir uns das an.

Branch über die Weboberfläche löschen

Es gibt keinen großen Unterschied zwischen der vorherigen Methode und dieser. Hier werden wir die GitHub-Webanwendung verwenden, um den Remote-Branch zu löschen, während wir den lokalen Branch wie in der obigen Methode löschen.

So löschst du den Remote-Branch über die GitHub-Webanwendung:

  • Gehe zu GitHub.
  • Melde dich in deinem Konto an.
  • Navigiere zu dem Repository, in dem du einen Branch löschen möchtest.

Repository

  • Klicke auf die Schaltfläche „Branches“, um alle Branches des Repositorys anzuzeigen.

Repository-Branches

  • Du siehst die Branches des Repositorys.
  • Am Ende jeder Zeile befindet sich ein Löschsymbol.

Löschschaltfläche für Branches

  • Klicke auf das Löschsymbol, um den Branch im Remote-Repository zu löschen.

Branch gelöscht

  • Wir können den Branch wiederherstellen, indem wir auf die Schaltfläche „Wiederherstellen“ klicken. Diese Option ist verfügbar, solange wir die Seite nicht aktualisieren oder schließen.

Schaltfläche „Wiederherstellen“

Nun haben wir den Branch remote gelöscht. Gehe nun zum lokalen Repository und lösche den Branch mit dem Befehl, den wir in der ersten Methode verwendet haben.

Führe nun den Befehl git branch -a aus, um alle Branches zu überprüfen.

Branch-Liste

Wir sehen, dass der gelöschte Remote-Branch immer noch in der Liste auftaucht. Was ist das? Und wie können wir das beheben? Sieh dir das folgende Szenario an, in dem du auf eine solche Situation stoßen könntest.

Nehmen wir an, du arbeitest in einem Team. Dein Teamleiter hat einen Remote-Branch gelöscht, nachdem eine Aufgabe erledigt ist. Woher weißt du davon? Gibt es eine Möglichkeit, etwas über gelöschte Remote-Branches zu erfahren?

Wir müssen die lokalen und Remote-Repositories bezüglich der gelöschten Branches synchronisieren. Dafür gibt es spezielle Befehle:

git remote prune remoteName
git fetch -p remoteName

Das -p ist die Kurzform für „prune“ im zweiten Befehl. Die Prune-Option in beiden Befehlen entfernt die Referenzen auf den Remote-Branch.

Prune und Fetch

Führe nun den Befehl git branch -a aus, um die Branch-Liste zu überprüfen.

Branch-Liste

Du wirst sehen, dass der Remote-Branch nicht mehr in der Liste angezeigt wird. Aber der lokale Branch ist immer noch vorhanden. Ja, das ist so. Es gibt kein Problem damit. Du kannst ihn behalten oder löschen.

Überprüfe also die Branches, die nicht im Remote-Repository vorhanden sind, aber noch lokal existieren. Lösche die lokalen Branches, die im Remote-Repository gelöscht wurden.

Deine Branches sind jetzt bereinigt und du kannst weiterarbeiten.

Zusammenfassung

Meistens verwenden wir das Terminal oder die Eingabeaufforderung für Git-Operationen. Das ist auch komfortabel, aber nicht zwingend. Letztendlich ist es eine Frage der persönlichen Präferenz.

Unabhängig davon, welches Tool oder welche Methode du verwendest, ist das Ergebnis dasselbe. Wähle die Methode, die dir am besten gefällt, und befolge sie, um den Prozess – das Löschen eines Branches in zwei Schritten – abzuschließen. Lokales und Remote-Löschen.

Als Nächstes erfährst du, wie man ein GitHub-Repository löscht.

Viel Spaß beim Entwickeln! 🙂

Hat dir der Artikel gefallen? Wie wäre es, wenn du ihn mit anderen teilst?