是否有一种方法可以使用Git来按照最新提交对分支列表进行排序,或者以某种机器可读的格式获取包括每个分支的最后提交日期的分支列表?
最坏情况下,我可以始终运行“git branch”以获取所有分支的列表,解析其输出,然后为每个分支运行“git log -n 1 branchname --format=format:%ci”以获取每个分支的提交日期。但这将在Windows环境中运行,其中启动新进程相对较昂贵,因此如果有很多分支,每个分支启动一次Git可执行文件可能会变慢。是否有一种方法可以用单个命令完成所有这些操作?
git for-each-ref
命令的答案,您可以通过传递refs/remotes/
(而不是refs/heads/
)来获取远程分支(或者您可以同时传递两者,用空格隔开);对于标签,请使用refs/tags/
,要获取所有三种引用,则可以使用refs/
。 - jakub.gfor-each-ref
命令了!您应该直接使用git branch --sort=-committerdate
命令:请参见我的回答。 - VonC