Sort git Branches by Date
I'll be first person to admit I don't do as much git repository maintenance as I should. I rarely delete branches which have been merged, so a git branch execution shows me a mile-long list of branches that likely aren't relevant. The best way to find branches I've recently used is to use the following command:
git for-each-ref --sort=-committerdate refs/heads/
The command above lists the most recently worked on branches from top to bottom. If you want to see the date of last commit, you can do this:
git for-each-ref --sort='-committerdate' --format='%(refname)%09%(committerdate)' refs/heads | sed -e 's-refs/heads/--'
I find these commands incredibly helpful when returning to work from a weekend or just jumping from project to project. Hopefully you can use these commands too!
![Send Text Messages with PHP]()
Kids these days, I tell ya. All they care about is the technology. The video games. The bottled water. Oh, and the texting, always the texting. Back in my day, all we had was...OK, I had all of these things too. But I still don't get...
![LightFace: Facebook Lightbox for MooTools]()
One of the web components I've always loved has been Facebook's modal dialog. This "lightbox" isn't like others: no dark overlay, no obnoxious animating to size, and it doesn't try to do "too much." With Facebook's dialog in mind, I've created LightFace: a Facebook lightbox...
![Basic AJAX Requests Using MooTools 1.2]()
AJAX has become a huge part of the modern web and that wont change in the foreseeable future. MooTools has made AJAX so simple that a rookie developer can get their dynamic pages working in no time.
Step 1: The XHTML
Here we define two links...
![Better Pull Quotes with MooTools]()
Chris Coyier authored a post titled Better Pull Quotes: Don't Repeat Markup a while back. In his post he created great-looking pull quotes without repeating any content -- instead he uses jQuery to dynamically create the pull quotes. The following is the...
I use this version to show latest git branches with the timestamp as a relative/human readable format:
Hey man, I used your snippet and noticed after a while that it actually gets the timing wrong. For example a branch I created today is showing as being worked on 2 weeks ago
That might be because the timestamp doesn’t show the branch creation time but the commit time of the last commit of the branch.
I’m definitely going to bookmark this as I’m using git more and more in team settings where we will probably be branching a lot more. This will come in handy.
Super-helpful even three years on — thank you!
FWIW, I found it much easier to read by putting the date first, as in Amy’s example. That also allows for reverse sorting if desired.
This is gold, thanks a lot!
So helpful! I’ve accumulated dozens of branches in my main project over the years. Sorting them by date, and seeing the dates, is super helpful when trying to purge the useless ones while still keeping around some of the just-in-case guys.
Good feature, thanks a lot!
Also I add that you can add this command to .gitconfig e.g. like a “lastbrs” (last branches) and add the flag “–count” to prevent display all the branches.
You can also just do
git branch --sort=-committerdateto get the local branches with the most recently committed to on top.Also, forgot to mention. If you want this to be the default sort order for all your repositories. Just do
git config --global branch.sort -committerdate.After that a regular call to
git branchwill sort like this.