Wie entferne ich einen Zweig lokal?

Lesezeit: 4 Minuten

Ich habe einen Master- und einen Dev-Zweig in meinem Repository. Ich möchte den Master-Zweig von meinem Computer entfernen, damit ich mich nicht versehentlich darauf festlege (es ist passiert …).

Hier gibt es Fragen zum lokalen Löschen von Zweigen und aus der Ferne, aber ich konnte nicht herausfinden, wie man einen Zweig nur lokal löscht.

Eine Antwort sagte, dies zu verwenden:

git branch -d local_branch_name

Aber ich habe das versucht und der Zweig wird immer noch in der GitHub-Anwendung angezeigt.

  • Was ist die Ausgabe von diesem Befehl? In welcher Filiale bist du? Wie wird es in der Konsole angezeigt?

    – SLaks

    1. Februar 2015 um 2:04 Uhr

  • @SLaks Ich hatte einen Typ in meiner Frage. In der Konsole heißt es tatsächlich, dass der Branch gelöscht wurde, aber in der GitHub-Anwendung (auch nach dem Neustart) sind Branch und Commit noch sichtbar. Die Ausgabe ist Deleted branch master (was e8a8e29).

    – Nate

    1. Februar 2015 um 2:05 Uhr


  • GitHub für Windows zeigt auch entfernte Zweige

    – SLaks

    1. Februar 2015 um 2:06 Uhr

  • @SLaks Wenn ich also nach dem lokalen Löschen des Zweigs in der GitHub für Windows-Anwendung darauf klicke, wird er nur neu geklont? Ich möchte verhindern, dass ich direkt Änderungen am Master-Branch vornehmen kann.

    – Nate

    1. Februar 2015 um 2:06 Uhr

  • Ich verstehe, was Sie versuchen – schützen Sie Ihren entfernten Master. Es wäre besser, wenn Sie (oder Ihr GIT-Administrator) Regeln erstellen würden, die verhindern, dass Unbefugte zum Master pushen.

    – davidhartman00

    12. Oktober 2020 um 19:45 Uhr

Benutzer-Avatar
Benjamin Jafari

So erzwingen Sie das Löschen eines lokalen Zweigs:

$ git branch -D <branch-name>

[NOTE]:

-D ist eine Abkürzung für --delete --force.


  • Wenn ich einen lokalen Zweig lösche, der ein Upstream-Set hatte, und dann einen normalen Push durchführe, wird der Remote-Zweig nicht gelöscht, oder?

    – Angetrieben von Kaffee

    24. Januar 2018 um 17:24 Uhr

  • @FueledByCoffee Hier ist die Antwort auf diese Frage

    – Benjamin Jafari

    31. Dezember 2019 um 4:51 Uhr

Ich denke (basierend auf Ihren Kommentaren), dass ich verstehe, was Sie tun möchten: Sie möchten, dass Ihre lokale Kopie des Repositorys keinen gewöhnlichen lokalen Zweig hat master, Noch der Remote-Tracking-Zweig origin/masterobwohl das von Ihnen geklonte Repository – das Github-Repository – einen lokalen Zweig hat master das du unterlassen Sie wollen aus der github-version gelöscht werden.

Sie können dies tun, indem Sie den Remote-Tracking-Zweig lokal löschen, aber er kommt einfach jedes Mal zurück, wenn Sie Ihren Git bitten, Ihr lokales Repository mit dem Remote-Repository zu synchronisieren, da Ihr Git seinen Git fragt: „Welche Branches haben Sie?“ und it sagt: „Habe ich master“, damit dein Git (neu) erstellt origin/master für Sie, damit Ihr Depot das hat, was ihres hat.

So löschen Sie Ihren Remote-Tracking-Zweig lokal über die Befehlszeilenschnittstelle:

git branch -d -r origin/master

aber auch hier wird es nur bei Neusynchronisierungen zurückkommen. Es ist möglich, dies ebenfalls zu besiegen (mit remote.origin.fetch Manipulation), aber Sie sind wahrscheinlich besser dran, wenn Sie nur diszipliniert genug sind, nichts zu erstellen oder zu ändern master örtlich.

  • Verwandte: Wie klont man einen einzelnen Branch in Git?

    – Tobias Kienzler

    28. Juli 2017 um 6:01 Uhr

Soweit ich das ursprüngliche Problem verstehe,
Sie haben versehentlich Commits zum lokalen Master hinzugefügt
und habe diese Änderungen noch nicht vorangetrieben. Jetzt möchten Sie Ihre Änderungen verwerfen und hoffen, Ihre lokalen Änderungen zu löschen und einen neuen Master-Zweig vom Remote-Zweig zu erstellen.

Sie können Ihre Änderungen einfach zurücksetzen und den Master vom Remote-Server neu laden:

git reset --hard origin/master

Die Github-Anwendung für Windows zeigt alle entfernten Branches eines Repositorys an. Wenn Sie den Zweig lokal mit gelöscht haben $ git branch -d [branch_name]ist der Remote-Zweig noch in Ihrem Github-Repository vorhanden und wird unabhängig davon in der Windows-Github-Anwendung angezeigt.

Wenn Sie den Zweig vollständig löschen möchten (auch aus der Ferne), verwenden Sie den obigen Befehl in Kombination mit $ git push origin :[name_of_your_new_branch]. Warnung: Dieser Befehl löscht alle vorhandenen Zweige und kann zu Codeverlust führen. Seien Sie vorsichtig, ich glaube nicht, dass Sie das versuchen.

Jedes Mal, wenn Sie die Änderungen der lokalen Verzweigung löschen, wird die entfernte Verzweigung jedoch weiterhin in der Anwendung angezeigt. Wenn Sie keine weiteren Änderungen vornehmen möchten, ignorieren Sie es einfach und klicken Sie nicht darauf, da Sie sonst möglicherweise das Repository klonen. Wenn Sie weitere Fragen haben, lassen Sie es mich bitte wissen.

Nach dem Löschen des Zweigs mit:

git branch -d BranchName

Verwenden Sie zum Entfernen von Zweigen, die nicht mehr im Remote-Repository vorhanden sind:

git fetch -p

-p gibt prune an, um Zweige aus dem lokalen Repository zu entfernen, die in der Remote nicht vorhanden sind.

Sie müssen in einen anderen Zweig wechseln und dasselbe versuchen.

git branch -d

Benutzer-Avatar
Mehdi Bouzidi

Sie können mehrere Zweige unter Windows mit löschen Git-GUI:

  1. Gehen Sie zu Ihrem Projektordner
  2. Git-Gui öffnen:
    Geben Sie hier die Bildbeschreibung ein
  3. Klicken Sie auf „Filiale“:
    Geben Sie hier die Bildbeschreibung ein
  4. Wählen Sie nun „Löschen“:
    Geben Sie hier die Bildbeschreibung ein
  5. Wenn Sie alle Zweige löschen möchten, abgesehen davon, ob sie zusammengeführt wurden oder nicht, aktivieren Sie „Immer (keine Zusammenführungsprüfungen durchführen)“.
    Geben Sie hier die Bildbeschreibung ein

1326990cookie-checkWie entferne ich einen Zweig lokal?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy