Created
February 12, 2012 20:40
-
Star
(419)
You must be signed in to star a gist -
Fork
(96)
You must be signed in to fork a gist
-
-
Save jasonrudolph/1810768 to your computer and use it in GitHub Desktop.
List remote Git branches and the last commit date for each branch. Sort by most recent commit date.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Credit http://stackoverflow.com/a/2514279 | |
for branch in `git branch -r | grep -v HEAD`;do echo -e `git show --format="%ci %cr" $branch | head -n 1` \\t$branch; done | sort -r |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Example output (resulting from running command on the Rails repo — https://github.com/rails/rails) | |
2012-02-12 03:20:24 -0800 9 hours ago origin/master | |
2012-02-10 10:34:35 -0800 2 days ago origin/3-2-stable | |
2012-01-31 09:56:12 -0800 12 days ago origin/3-1-stable | |
2012-01-24 11:18:06 -0800 3 weeks ago origin/3-0-stable | |
2011-12-31 05:09:14 -0800 6 weeks ago origin/2-3-stable | |
2011-11-25 09:49:54 +0000 3 months ago origin/serializers | |
2011-06-16 12:08:26 -0700 8 months ago origin/compressor | |
2011-05-24 16:03:41 -0700 9 months ago origin/sass-cleanup | |
2011-01-17 14:14:24 +1300 1 year, 1 month ago origin/2-1-stable | |
2011-01-17 14:13:56 +1300 1 year, 1 month ago origin/2-2-stable | |
2010-08-17 17:11:17 -0700 1 year, 6 months ago origin/deps_refactor | |
2010-05-16 22:23:44 +0200 1 year, 9 months ago origin/encoding | |
2009-09-10 17:41:18 -0700 2 years, 5 months ago origin/2-0-stable | |
2008-02-19 02:09:55 +0000 4 years ago origin/1-2-stable |
Here's a version sorting by committer date, including colour formatting, that is easy to add as a git alias:
❯ git branch -a --sort=-creatordate --format='%(color:red)%(committerdate:iso8601)%(color:reset) %(align:8)(%(ahead-behind:HEAD))%(end) %(color:blue)%(align:40)%(refname:short)%(end)%(color:reset) %(color:white)%(contents:subject) %(color:yellow)(%(committerdate:relative))%(color:reset)'
Example output:
Git aliases:
[alias]
br = "branch --format='%(color:red)%(committerdate:iso8601)%(color:reset) %(align:8)(%(ahead-behind:HEAD))%(end) %(color:blue)%(align:40)%(refname:short)%(end)%(color:reset) %(color:white)%(contents:subject) %(color:yellow)(%(committerdate:relative))%(color:reset)' --sort=-creatordate"
newestb = "br --sort=-committerdate"
oldestb = "br --sort=committerdate"
It can then be composed with other flags like -r
, -a
, --merged=main
, etc.
@bjeanes this looks really nice but I get this error:
fatal: unknown field name: ahead-behind:HEAD
That’s interesting. What git version? I can’t think of a reason that HEAD wouldn’t be defined, but you could change it to ‘main’ or some other ref
Great thread, thank you!
@bjeanes was on 2.39.0, upgrading to the latest version of git solved the issue. Thank you!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here's my version of this.