58

How can I list git branches showing and sorting by their last commits' dates?

I've found 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

I'd expect plain git to have this feature. Does it?

I also found git show-branch --date-order but the output is something different.

Ondra Žižka
  • 36,997
  • 35
  • 184
  • 250

2 Answers2

104

This appears to be a built-in way to achieve that (v1.7.4):

git for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short) %(refname:short)'
Will Sheppard
  • 2,796
  • 1
  • 26
  • 38
23

I've enjoyed the @Will Sheppard solution to put some colors.

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