显示 git 仓库中活跃度排名前 n 名的提交者。

21
我使用 git shortlog -s -n --all 命令来显示 git 仓库中的所有贡献者。
 18756  Someone   
  6604  Someone Else  
  6025  Etc     
  5503  Another Committer     
  5217  And So On

我想知道是否有一个选项可以显示前n个贡献者。例如:
git shortlog -s -n --all --some-option 3

输出结果如下:

18756  Someone   
 6604  Someone Else  
 6025  Etc     

一种解决方法是使用Unix管道和head命令:
git shortlog -s -n --all | head -3

...但如果有内置的


根据git-shortlog man页面,该命令没有提供此选项,我想不到任何简单的替代方法来替换您当前的方法。使用管道符号 :) 没有问题。 - jub0bs
@Jubobs 我不确定使用管道是否可以跨平台。然而,我现在意识到 git shortlog -s -n --all --max-count 3 显示前三个最不活跃的用户。 :) - Ionică Bizău
我无法复制您所描述的行为。例如,如果我在Git项目的repo中运行该命令,我只会得到“3 Junio Hamano”,而Junio是该项目中提交次数最多的贡献者。我认为--max-count不应该与git shortlog一起使用,即使该标志不会引发错误。 - jub0bs
1
@Jubobs,你说得非常正确。我猜max-count告诉shortlog要解析多少个提交。 - Ionică Bizău
我正在寻找的已经在问题主体中了,所以我不需要答案 :) - kinORnirvana
1个回答

7

使用原生的git shortlog命令无法实现此操作。它通常用于在发布之间生成贡献者列表,而不是前n个统计。

使用管道的方法可能是解决问题最有效的方式;您还可以使用脚本或git别名来完成相同的操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接