Entfernen tracking branches nicht mehr auf Fernbedienung

Gibt es einen einfachen Weg, um löschen Sie alle tracking-Zweige, deren remote-äquivalent nicht mehr existiert?

Beispiel:

Zweigen (lokal und remote)

  • master
  • origin/master
  • Herkunft/bug-fix-ein
  • Herkunft/bug-fix-b
  • Herkunft/bug-fix-c

Lokal, ich habe nur ein master-Zweig. Jetzt brauche ich für die Arbeit auf bug-fix-ein, also ich check it out, es auf Arbeit zu schieben, und änderungen an der Fernbedienung. Weiter habe ich auch das gleiche tun mit bug-fix-b.

Zweigen (lokal und remote)

  • master
  • bug-fix-ein
  • bug-fix-b
  • origin/master
  • Herkunft/bug-fix-ein
  • Herkunft/bug-fix-b
  • Herkunft/bug-fix-c

Nun habe ich die lokalen Niederlassungen master, bug-fix-ein, bug-fix-b. Der Master-branch Betreuer merge meine änderungen in master und löschen Sie alle Zweige, die er hat bereits zusammengeführt.

Also der aktuelle Stand ist jetzt:

Zweigen (lokal und remote)

  • master
  • bug-fix-ein
  • bug-fix-b
  • origin/master
  • Herkunft/bug-fix-c

Nun möchte ich Sie einmal nennen Befehl zum löschen von Zweigen (in diesem Fall bug-fix-ein, bug-fix-b), die sind nicht mehr vertreten im remote-repository.

Es wäre so etwas wie die vorhandenen Befehl git remote prune origin, aber mehr wie git local prune origin.

  • Ich bin mir nicht ganz sicher, warum Sie würde nicht nur löschen Sie Ihren lokalen Niederlassungen mit git branch -d branchname...
  • Dies kann ein bisschen helfen: git branch -D $(git branch --merged)
  • Martin Svalin: Denn am Ende der Woche habe ich etwa 15 dieser mindestens. DOT
  • Angesichts des Fehlens einer einfachen und zuverlässigen "git branch -d-alles-gelöscht-aus-remote" - Befehl, warum nicht einfach wegblasen Ihre lokale repo, und Klonen Sie die Fernbedienung wieder? Sicherlich vorzuziehen, um all die komplexen Skripten, die Leute schlagen, die nicht auf verschiedene Grenzfälle?
  • Andrew Spencer ' s Antwort ist die einzige Antwort, greift die Absicht der Frage (Müll-Sammlung von tracking-branches, die sich nicht mehr auf Fernbedienung--andere Antworten konnte, löschen lokale non-tracking-branches, die haben nicht geschoben!) und die "einfachen" Aspekt von ihm: Nein, gibt es nicht eine einfache Möglichkeit.
  • Weil ich möglicherweise lokale änderungen haben sich auf jene Zweige, die will ich nicht auf nuke. Ich regelmäßig am Ende mit 5-10 "extra" - Filialen verschmolzen und gelöscht, während Sie noch arbeiten auf einem anderen Zweig.

Schreibe einen Kommentar