Wie lösche ich einen Git-Zweig lokal und remote?

Lesezeit: 8 Minuten

Wie losche ich einen Git Zweig lokal und remote
Matthäus Rankin

Ich möchte einen Zweig sowohl lokal als auch remote löschen.

Fehlgeschlagene Versuche, einen Remote-Zweig zu löschen

$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.

$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.

$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).

$ git push
Everything up-to-date

$ git pull
From github.com:gituser/gitproject

* [new branch] bugfix -> origin/bugfix
Already up-to-date.

Was sollte ich anders machen, um die remotes/origin/bugfix sowohl lokal als auch remote verzweigen?

  • Anmerkung des Moderators: Wenn Sie beabsichtigen, diese Frage zu beantworten, beachten Sie, dass bereits 40 Antworten gepostet wurden. Wird Ihre neue Antwort einen wesentlichen Mehrwert bringen?

    – Robert Harvey

    11. Juni 2014 um 16:10 Uhr


  • Hinweis: Für Git 2.5+ (Q2 2015) lautet die genaue Meldung “deleted remote-tracking branch“: sehen github.com/git/git/commit/…

    – VonC

    25. Mai 2015 um 14:57 Uhr


  • Überspringen Sie die ersten Antworten und springen Sie einfach zur besten: stackoverflow.com/a/23961231/4561887. Um einen Git-Branch zu löschen, gibt es tatsächlich 3 verschiedene Zweige zum Löschen! Diese Antwort macht diese Tatsache deutlich.

    – Gabriel Staples

    3. April 2020 um 20:37 Uhr

  • @GabrielStaples Ohne Kontext ist Ihr Kommentar verwirrend. Sind die “besten” bewerteten Antworten irgendwie falsch?

    – Nathan

    19. Juni 2020 um 4:32 Uhr

  • @Nathan, nein, sie liegen nicht falsch, aber Sie lehren nicht, was Sie weiß nicht du weißt nichtwährend der, auf den ich verlinke, dies kritisch macht unbekannt unbekannt etwas werden bekannt unbekannt und dann a bekannt bekannt. Ich wusste nicht, dass du eine hast 1) lokale Verzweigung, 2) lokal gespeicherte Fernverfolgungsverzweigung und 3) entfernte Verzweigung bis ich diese Antwort gelesen habe. Davor dachte ich, es gäbe nur eine Lokale Niederlassung und entfernte Filiale. Der lokal gespeicherte Remote-Tracking-Zweig war ein unbekannt unbekannt. Damit es von da zu a geht bekannt bekannt ist, was diese Antwort am besten macht.

    – Gabriel Staples

    18. November 2020 um 23:06 Uhr


1646913490 756 Wie losche ich einen Git Zweig lokal und remote
Eric Brotto

Matthews Antwort eignet sich hervorragend zum Entfernen Fernbedienung Branches und ich schätze auch die Erklärung, aber um eine einfache Unterscheidung zwischen den beiden Befehlen zu machen:

Zum Entfernen eines Lokale Niederlassung von Ihrer Maschine:

git branch -d {the_local_branch} (verwenden -D stattdessen das Löschen des Zweigs erzwingen, ohne den Merge-Status zu prüfen)

Zum Entfernen eines entfernte Filiale vom Server:

git push origin --delete {the_remote_branch}

Referenz: Git: Einen Branch löschen (lokal oder remote)

  • @megido gut -D Löschung erzwingen, -d gibt Ihnen eine Warnung, wenn es noch nicht zusammengeführt wurde.

    – TankorSmash

    6. November 2014 um 19:04 Uhr

  • Wenn Ihr lokaler Zweig nicht mit Master zusammengeführt und ausgeführt wird 'git branch -d your_branch dann werden Sie Fehler wie error: The branch 'your_branch' is not fully merged. If you are sure you want to delete it, run 'git branch -D your_branch'.

    – Geeks

    31. Oktober 2015 um 12:59 Uhr


  • Ich würde vorschlagen, -d anstelle von -D zu verwenden, weil es sicherer ist. Wenn -d aufgrund nicht zusammengeführter Commits fehlschlägt, müssen Sie dies beurteilen, und wenn es definitiv in Ordnung ist, es zu entfernen, verwenden Sie -D.

    – robby

    2. Februar 2016 um 3:47 Uhr

  • Andere mit Repository-Klonen, bei denen entfernte Zweige entfernt wurden, sollten ausgeführt werden git remote prune <name> (z.B git remote prune origin), um veraltete Zweige lokal zu entfernen, die in der Remote nicht mehr vorhanden sind.

    – code_dredd

    18. April 2016 um 23:07 Uhr

  • Ich möchte hinzufügen, dass -d eine Warnung ausgibt, wenn es nicht mit dem aktuellen HEAD zusammengeführt wird. Wenn Sie Klarheit brauchen, empfehle ich diesen Befehl git branch -a --merged origin/master Es listet alle Zweige auf, sowohl lokal als auch entfernt; die in Master zusammengeführt wurden. Weitere Informationen hier

    – Erich

    10. Februar 2017 um 13:10 Uhr

  • @huggie das ist ziemlich richtig. Branches in Git sind nur Lesezeichen, die an Commits angehängt sind. In meinen Grafiken oben gibt es also X und origin/X Lesezeichen im lokalen Klon (2 Zweige), und dann gibt es X auf der Fernbedienung (macht 3 Zweige).

    Benutzer456814

    23. Februar 2016 um 7:33 Uhr

  • +1 für den Remote-Tracking-Zweig. Dieser Zweig verursacht Probleme, wenn Sie den Zweig einer anderen Person klonen. Es verfolgt weiterhin Ihre Commits und fragt Sie, ob Sie zum Zweig dieser Person pushen möchten.

    – Kermit_Eistee

    21. Juni 2017 um 19:48 Uhr

  • Für zukünftige Leser: Worüber @Kermit_ice_tea oben spricht, ist a Lokale Niederlassung (wie in dieser Antwort beschrieben), nicht a Remote-Tracking-Zweig. Wenn ein Lokale Niederlassung einen “Upstream-Zweig” dafür konfiguriert hat, wird er standardmäßig von diesem Remote-Zweig ziehen und dorthin pushen. EIN Lokale Niederlassung das hat einen “Upstream-Zweig” darauf gesetzt als “Tracking-Zweig” bezeichnetdaher ist es leicht zu verwechseln Remote-Tracking-Zweige aufgrund der ähnlichen Terminologie.

    – David P

    5. März 2020 um 11:21 Uhr

  • Ich habe alle Antworten bis hierhin gelesen und das ist mit Sicherheit die beste Antwort, die ich bisher gelesen habe! – (und wahrscheinlich die beste auf dieser Seite, Punkt). Dies gilt insbesondere, weil es die einzige Antwort ist, die diese WIRKLICH WICHTIGE Tatsache angibt, die ich vorher nie wusste: “Es gibt 3 verschiedene Branches zum Löschen!„Ich hatte keine Ahnung! Das macht jetzt alles so viel mehr Sinn, und es wirft jetzt auch so viel Licht auf alle anderen Antworten hier. Danke!

    – Gabriel Staples

    3. April 2020 um 20:35 Uhr

  • Zu beachten ist, dass läuft git push origin --delete <branch>soweit ich das beurteilen kann, löscht AUCH den lokal gespeicherten Remote-Tracking-Zweig namens origin/branch. Damit, Um den Remote-Zweig UND den lokal gespeicherten Remote-Tracking-Zweig in einem Befehl zu löschen, verwenden Sie einfach git push origin --delete <branch>. Dann müssen Sie nur noch den lokalen Zweig mit löschen git branch -D branch. Das deckt das Löschen aller 3 Zweige mit nur 2 Befehlen ab.

    – Gabriel Staples

    5. Januar 2021 um 0:40 Uhr


Wie losche ich einen Git Zweig lokal und remote
Alireza

Schritte zum Löschen eines Zweigs:

Zum Löschen der Remote-Zweig:

git push origin --delete <your_branch>

Zum Löschen der Lokale NiederlassungSie haben Drei Wege:

1: git branch -D <branch_name>

2: git branch --delete --force <branch_name>  # Same as -D

3: git branch --delete  <branch_name>         # Error on unmerge

Erklären: OK, erklären Sie einfach, was hier los ist!

Einfach machen git push origin --delete zu Löschen Sie Ihren Remote-Zweig nurfügen Sie den Namen der Verzweigung am Ende hinzu und dies löscht und schieben Sie es auf die Fernbedienung zur selben Zeit…

Ebenfalls, git branch -Ddie einfach den lokalen Zweig löschen nur!…

-D steht für --delete --force Dadurch wird der Zweig gelöscht, auch wenn er nicht zusammengeführt wurde (Löschen erzwingen), aber Sie können auch verwenden -d welches dafür steht --delete die einen Fehler bezüglich des Branch-Merge-Status auslösen …

Ich erstelle auch die Bild unten um die Schritte zu zeigen:

Löschen Sie einen Remote- und einen lokalen Zweig in Git

  • git branch -a zeigt lokale und entfernte Zweige an. Es wird Ihnen helfen, ein Diagramm einzuführen.

    – LoranceChen

    27. Juli 2017 um 3:01 Uhr

  • Beachten Sie, dass Sie, wenn Sie den zu löschenden Branch festlegen, einen anderen Branch als den, den Sie löschen möchten, auschecken müssen (z. B.: master), bevor Sie den lokalen Branch löschen.

    – BaDr Amer

    28. Mai 2018 um 8:43 Uhr

  • Wenn Zweige im Ursprung gelöscht werden, wird Ihr lokales Repository dies nicht bemerken. Sie haben immer noch Ihre lokal zwischengespeicherten Versionen dieser Zweige (was eigentlich gut ist), aber git branch -a listet sie immer noch als Remote-Zweige auf. Sie können diese Informationen lokal wie folgt bereinigen: git remote prune origin Ihre lokalen Kopien gelöschter Zweige werden dadurch nicht entfernt. Der gleiche Effekt wird durch die Verwendung erzielt git fetch --prune

    – Vibs2006

    8. Mai 2019 um 6:33 Uhr

  • Das Bild ist ablenkend und sehr groß und fügt der Antwort nichts hinzu. Ich hoffe, das wird kein Trend bei SO.

    – jmiserez

    6. September 2019 um 10:31 Uhr


1646913491 167 Wie losche ich einen Git Zweig lokal und remote
Anant Kumar Singh

Sie können auch Folgendes verwenden, um den Remote-Zweig zu löschen

git push --delete origin serverfix

Was dasselbe tut wie

git push origin :serverfix

aber es kann leichter zu merken sein.

  • git branch -a zeigt lokale und entfernte Zweige an. Es wird Ihnen helfen, ein Diagramm einzuführen.

    – LoranceChen

    27. Juli 2017 um 3:01 Uhr

  • Beachten Sie, dass Sie, wenn Sie den zu löschenden Branch festlegen, einen anderen Branch als den, den Sie löschen möchten, auschecken müssen (z. B.: master), bevor Sie den lokalen Branch löschen.

    – BaDr Amer

    28. Mai 2018 um 8:43 Uhr

  • Wenn Zweige im Ursprung gelöscht werden, wird Ihr lokales Repository dies nicht bemerken. Sie haben immer noch Ihre lokal zwischengespeicherten Versionen dieser Zweige (was eigentlich gut ist), aber git branch -a listet sie immer noch als Remote-Zweige auf. Sie können diese Informationen lokal wie folgt bereinigen: git remote prune origin Ihre lokalen Kopien gelöschter Zweige werden dadurch nicht entfernt. Der gleiche Effekt wird durch die Verwendung erzielt git fetch --prune

    – Vibs2006

    8. Mai 2019 um 6:33 Uhr

  • Das Bild ist ablenkend und sehr groß und fügt der Antwort nichts hinzu. Ich hoffe, das wird kein Trend bei SO.

    – jmiserez

    6. September 2019 um 10:31 Uhr


Es ist sehr einfach:

So löschen Sie den Remote-Zweig

git push -d origin <branch-name>

Oder

git push origin :<branch-name>

— Mit dieser Syntax können Sie auch Tags löschen

Um den lokalen Zweig zwangsweise zu löschen

git branch -D <branch-name>

Notiz: mach ein git fetch --all --prune auf anderen Rechnern nach dem Löschen des Remote-Zweigs, um veraltete Tracking-Zweige zu entfernen.

Beispiel

lokalen Zweig zu entfernen

git branch -D my-local-branch

Remote-Zweig zu entfernen

git push origin :my-remote-branch

TIPP:
Wenn Sie alle verfügbaren Zweige sehen möchten, können Sie verwenden git branch -a,

und um nur entfernte Zweige zu sehen, können Sie verwenden git branch -r

  • musste ich verwenden --delete anstatt -d entfernten Zweig zu löschen.

    – ZakJ

    10. Dezember 2017 um 23:22 Uhr


  • -d Option ist ein Alias ​​für --delete und wenn --delete dann arbeiten -d sollte auch funktionieren, wenn Sie einen Zweig gewaltsam löschen möchten, den Sie verwenden können -D anstatt -d oder --delete.

    – Vivek Maru

    18. Dezember 2017 um 9:48 Uhr

  • -d funktioniert bei mir nicht. Das Terminal sagt mir, ich soll es verwenden -D stattdessen

    – C-Entw

    2. September 2021 um 23:25 Uhr

987820cookie-checkWie lösche ich einen Git-Zweig lokal und remote?

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

Privacy policy