Even if you’re diligent and regularly delete merged and stale
you may still find it hard to pick out a particular branch from the
alphabetically-sorted output of
git branch. How about something
more useful, like seeing them listed based on their freshness?
git branch command accepts a
--sort option which we can use to
list our branches based on the last committer date:
$ git branch --sort=-committerdate * main redact-abandoned log-downloads i18n-lint
We can also use the
--format option to include the exact time and
see just how fresh each branch is:
$ git branch --sort=-committerdate --format="%(committerdate)%09%(refname:short)" Thu Nov 25 10:29:48 2021 +0000 main Fri Nov 19 16:08:49 2021 +0000 redact-abandoned Fri Nov 19 16:04:11 2021 +0000 log-downloads Thu Nov 18 21:53:37 2021 +0000 i18n-lint Sun Jul 18 12:49:18 2021 +0100 without-routing-key-overrides
Or for something more friendly and easy-to-parse we can ask for a relative date:
$ git branch --sort=-committerdate --format="%(committerdate:relative)%09%(refname:short)" 5 hours ago main 6 days ago redact-abandoned 6 days ago log-downloads 7 days ago i18n-lint 4 months ago without-routing-key-overrides
That’s better! Let’s add this as a
git recent alias to our Git config:
$ git config --global alias.recent 'branch --sort=-committerdate --format="%(committerdate:relative)%09%(refname:short)"'
Hat tip to Tenderlove for this particularly tasty snippet.
Here are some other Git aliases you might find useful:
More articles on Git