git branch の結果を時間順にソート: git branch --sort=-authordate

id:kazuho さんと「gitのbranchを消すべきか否か」という話をしていて、ぼくの「ローカルにせよリモートにせよbranchが増えすぎると目的のブランチを見つけられない」という意見に対して次のエントリを教えてもらったのでした。

git branch の結果を時間順にソート - kazuhoのメモ置き場

一理あるかもしれないと思ってこれをgitに組み込むためにgitのソースコードを眺めていたら、実はもうできるということを知りました。それがこれ:

# 新しいのが下
git branch --sort=authordate

# 新しいのが上
git branch --sort=-authordate

このソートに使えるフィールドは、 git branch --help を引くと "The keys supported are the same as those in git for-each-ref." といわれるので、 git for-each-ref --help を引くとそこにいろいろ書いてあります。

なおソースだとこのあたりで定義されているようです。

git/ref-filter.c at v2.8.4 · git/git · GitHub

追記2:

git branch のデフォルトオプションでいい気がしました。コピペ用:

git config --global alias.branch 'branch --sort=-authordate'

追記1:

.gitconfigエイリアスでも足しておくとよさそうですね。

[alias]
    br = branch --sort=-authordate