Sort branches by last commit date

106 points35 comments6 days ago
asb

Even better (IMHO!) is `git config branch.sort -committerdate` (note the `-`). This will sort newest committer date first.

show comments
jbranchaud

The best upgrade to these kinds of git branch scripts is piping them to fzf. I’ve been using this fbr one from the fzf repo. https://github.com/jbranchaud/dotfiles/blob/main/zshrc.local...

rmunn

I have been using the `git lb` alias suggested by https://ses4j.github.io/2020/04/01/git-alias-recent-branches... (post written April 1st but not a joke) and quite enjoying it. Shows me the last 10 branches I worked on (very easy to edit the alias definition to get more or fewer than 10), sorted by date, most recent first. It's been handy in all sorts of situations, especially because one of our internal libraries needs a bugfix or a new feature every 3 months or so. So every time I cd into that repo, I have no clue what I did last, but `git lb` tells me right away.

ComputerGuru

FYI/fwiw Fish shell autocompletes branches sorted by last commit date when writing out git commands. It also provides completions for commitish objects grouped by class, giving precedence to the usual targets first, with each group sorted by its own sort key. Handy!

metmac

Huge fan of `git recent` [0] for this purpose.

[0] - https://github.com/paulirish/git-recent

show comments
tyre

I made a lovely little TUI for this, with Charm (https://charm.sh)

https://github.com/tyre/recent-branches

Enjoy!

dalton74

Our team's `git branch` output is a graveyard. Sorting by last commit would be a godsend for quickly identifying active work and stale branches.

Trace88

Such a small quality of life improvement. My `git branch` output is a graveyard sometimes, this would be handy.

m4rtink

I have been using something like this for 10+ years by this point - still wonder why it is not default or easier to do than a custom gitconfig/alias hack. :P

show comments
tomtom1337

I love this little fzf bash function that I wrote a few years ago: https://gist.github.com/thomasaarholt/141df779f3f16b641701b4...

It opens a fuzzy finder window showing the branches you have in the repo, sorted by recency. Also shows the latest committer and the date. Hit enter on the one you want to swap to it.

cryptolobster

TIL Git can do this without a shell script. I’ve been manually sorting through branches like an idiot

zahlman

How many branches would you need to have to make this worthwhile?

show comments
rglover

Nice. Will help solve some mysteries on older projects.

thr0waway001

nice. I made myself pretty much the same command couple years ago but called it 'latestbranches'.

mcdow

yep, i have a little helper in my zshrc for this sort of thing:

alias git-hot-refs="git branch --sort=committerdate | tail"

bewareofscams

Or just have `jj log` custom-configured.

woodruffw

Another useful one if you have a large number of tags and want to see the most recently created ones first:

    git config --global tag.sort -creatordate
(`-creatordate` reverses the sort so that the newest come first.)
tikhonj

Let's sort git branches by quality, better branches towards the top, slop at the bottom.

jeffbee

Feels like the type of problem you could simply choose to not have in the first place (by not using git).

monster_truck

I just click on tower and open it, much better

matltc

Amazing what one can learn from rtfm