获取特定分支的git贡献者

aiazj4mn  于 2023-08-01  发布在  Git
关注(0)|答案(2)|浏览(105)

我正在寻找一种方法来获得GitHub存储库中特定分支的 unique 贡献者的计数。
GitHub API允许检索贡献者列表,以及每周的添加、提交等数据。这比我需要的多,但我可以从这里提取计数。但是,正如API中所述:
计算存储库统计信息是一项开销很大的操作,因此我们尽可能地返回缓存数据。[...]给予作业一些时间来完成,然后再次提交请求。
虽然这是可行的,但我宁愿在一次操作中得到结果。
我还可以请求存储库的HTML页面,并尝试解析HTML以提取贡献者的数量,但这似乎不是一个优雅的解决方案。
我研究的另一个选择是使用git log。即,命令

git log --format='%aN' | sort -u | wc -l
git log --format='%aE' | sort -u | wc -l
git log --format='%cN' | sort -u | wc -l
git log --format='%cE' | sort -u | wc -l

字符串
不幸的是,这些命令产生的数字与GitHub上显示的贡献者数量不一致。它们有时会高得多,因为同一个人有多封电子邮件,或者同一个人以他们的名字的一些变化提交。例如,对于我正在跟踪的特定存储库,这些命令给我提供了60到80个作者,而GitHub说有34个贡献者。
有没有其他更可靠的选择?

mf98qq94

mf98qq941#

你可能可以做的是:
1.通过Github API迭代获取所有贡献者的列表
第一个月
1.然后使用命令git log --format=.....从本地存储库获取贡献者列表。
1.将列表2与列表1连接起来,这应该会给予你一个准确的贡献者数量。

im9ewurl

im9ewurl2#

我正在寻找相同的查询,虽然有很多选项,但我发现这个特别优雅和简单:

git shortlog --summary --numbered --email HEAD --not master

字符串
(git shortlog -sne HEAD --not master)

相关问题