如何通过最近的结帐对 git branch 的输出进行排序

Ale*_*ach 5 git branch

我有很多当地的分支机构。运行git branch列出它们并且它们溢出页面。我经常想在当前签出的分支和我最后一个工作的分支之间切换,或者可能是在最后一个分支之前。该过程是通过眼睛或可能命令 + f 扫描 20-30 个本地分支的列表,如果我有幸记住一个关键字(或票号)。

相反,我想说git branch并让它按结帐顺序显示分支。与您在许多程序中按最近活动排序的许多项目相同的方式。这似乎是订单标准的明显默认选择,我很惊讶它不是 git 的默认设置。

编辑:

我修改了我的问题,只询问结账排序。我无法找到一个排序谓词,该谓词将按git branch每个分支最近结帐的日期过滤输出。

DDe*_*ini 1

您尝试过 for-each-ref 选项吗?有很多可排序的字段。

这是按作者日期排序的

 git for-each-ref  --sort='-*authordate'
Run Code Online (Sandbox Code Playgroud)

当我在自己的较小的一组分支上测试这一点时,最近创建/签出的分支位于顶部。

看起来这些是 git-ref 结构中唯一的日期/时间字段:

"authordate"
"committerdate"
"taggerdate"
"creatordate"
Run Code Online (Sandbox Code Playgroud)

您可以通过尝试使用此命令来获取文档来了解更多信息:

git for-each-ref --help
Run Code Online (Sandbox Code Playgroud)

也许作为检查 .git/refs/heads 更新的脚本?