Ich folge einem Entwicklungsprozess, in dem ich für jedes neue Feature oder jede neue Story-Karte einen neuen lokalen Zweig erstelle. Wenn ich fertig bin, füge ich den Zweig in Master zusammen und drücke dann.
Was im Laufe der Zeit aufgrund einer Kombination aus Faulheit oder Vergesslichkeit passiert, ist, dass ich am Ende eine große Liste lokaler Zweige habe, von denen einige (wie z. B. Spitzen) möglicherweise nicht zusammengeführt wurden.
Ich weiß, wie man alle meine lokalen Zweige auflistet und wie man einen einzelnen Zweig entfernt, aber ich habe mich gefragt, ob es einen git-Befehl gibt, mit dem ich alle meine lokalen Zweige löschen kann.
Unten ist die Ausgabe des git branch --merged
Befehls.
user@machine:~/projects/application[master]$ git branch --merged
STORY-123-Short-Description
STORY-456-Another-Description
STORY-789-Blah-Blah
* master
Alle Versuche, Zweige zu löschen, die mit grep -v \*
(gemäß den folgenden Antworten) aufgelistet sind, führen zu Fehlern:
error: branch 'STORY-123-Short-Description' not found.
error: branch 'STORY-456-Another-Description' not found.
error: branch 'STORY-789-Blah-Blah' not found.
Ich benutze:
git 1.7.4.1
ubuntu 10.04
GNU bash, Version 4.1.5 (1) - Release
GNU grep 2.5.4