Wie kann ich eine Liste mit Git-Verzweigungen erhalten, geordnet nach dem letzten Commit?

Möchte ich, um eine Liste aller Filialen in einem Git-repository mit den "frischesten" Zweige an der Spitze, wo die "aktuellsten" - Zweig ist die eine, die begangen wurden, bis vor kurzem (und ist daher eher ein ich will Aufmerksamkeit).

Gibt es eine Möglichkeit, ich kann Git verwenden, um entweder (a) Sortieren Sie die Liste der Branchen, die durch neueste verpflichten, oder (b) eine Liste der Niederlassungen zusammen mit den jeweils letzten commit-Datum, in eine Art von maschinenlesbaren format?

Schlimmsten Fall konnte ich immer laufen git branch um eine Liste von allen Zweigen, analysieren der Ausgabe, und dann git log -n 1 branchname --format=format:%ci für jeden, um jeden Zweig die commit-Datum. Aber dieser läuft auf einem Windows-Rechner, wo die Spinnerei ein neues Verfahren ist relativ teuer, so starten die git executable einmal pro Zweig bekommen konnte, langsam, wenn es gibt eine Menge Zweige. Gibt es eine Möglichkeit, dies alles mit einem einzigen Befehl?

Kommentar zu dem Problem
stackoverflow.com/a/2514279/1804124 Hat eine bessere Antwort. Kommentarautor: Spundun
@Spundun, Sie mich verloren. Wie ist die Kombination mehrerer Befehle, einschließlich der Sachen, geleitet durch perl und sed, "besser" als einen Befehl verwenden, der Git schon hat? Kommentarautor: Joe White
Denn mit der Antwort hier , ich habe nicht alle Branchen in das repo. In meinem speziellen Fall, die Antwort würde mir ein Zweig und die Antwort gab mir 20 oder so-Niederlassungen(mit der option-r). Kommentarautor: Spundun
@Spundun bezüglich der Antwort mit git for-each-ref von Jakub Narębski: Sie können remote-Niederlassungen vorbei refs/remotes/ statt refs/heads/ (oder Sie können pass, Leerzeichen-getrennt); refs/tags/ - tags, oder einfach nur refs/ für alle drei Arten. Kommentarautor: jakub.g
Ab git 2.7 (Q4 2015), nicht mehr for-each-ref! Verwenden Sie direkt die git branch --sort=-committerdate: siehe meine Antwort unten Kommentarautor: VonC

InformationsquelleAutor der Frage Joe White | 2011-03-04

Schreibe einen Kommentar