2012-02-10 14 views
19

Come posso elencare i rami di git che mostrano e ordinano secondo le date dei loro ultimi commit?Git: List git branches, ordina per (e mostra) date

ho trovato this:

for k in `git branch | sed s/^..//`; do 
    echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" "$k"`\\t"$k"; 
done | sort -r 

mi aspetto git pianura di avere questa funzione. Lo fa?

Ho trovato anche git show-branch --date-order ma l'output è qualcosa di diverso.

+0

Come può essere un duplicato se è più vecchio? –

+0

Come può essere più vecchio, quando è stato chiesto nel 2012 e l'altro è stato chiesto nel 2011? –

+0

Va bene, mio ​​male. Stavo guardando la modifica del 2014. Thx & appology –

risposta

42

Questo sembra essere un modo integrato per conseguire tale (V1.7.4):

git for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short) %(refname:short)' 
+2

'git for-each-ref' è stato aggiunto in 1.4.4. – jthill

+0

non ha un analogo per i rami remoti che posso trovare anche se –

+3

@ Ry4an usa 'refs/remotes /' invece di 'refs/heads /' – SQB

-2

No, non ha quella funzione integrata.

3

Ho goduto la soluzione @Will Sheppard di mettere alcuni colori.

git for-each-ref --sort=committerdate refs/heads/ --format='%(color: red)%(committerdate:short) %(color: cyan)%(refname:short)'