我不太明白这个端点返回什么,但它看起来并不准确。该文档对此并没有很详细的介绍,是否有人知道可能解释这一情况的信息?
我向Github API的支持团队提交了我的问题,他们给了我一个惊人详细的答案。这是缩短版:
看起来你丢失的提交是由未与你的GitHub帐户相关联的电子邮件地址所创建的。你可以通过将“.patch”添加到提交URL的结尾来找到缺失的电子邮件地址,然后查看“From:”行。一旦你有了电子邮件地址,可以按照这些说明将其链接到你的个人资料中:
https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user
链接你的电子邮件地址到你的账户之后,任何有效的缺失贡献会被补全,新的贡献也应该自动显示。
例如,当我查看Projet-merou的提交历史记录:
https://github.com/jxw1102/Projet-merou/commits/master
选择最新的使用你的GitHub用户名作为作者的提交,并像下面这样在URL中添加 .patch :
https://github.com/jxw1102/Projet-merou/commit/f5bf30243ab99efc40802d3d78c08e49839ec9c9.patch
我在第二行看到这个:
From: Dicee courtinot.david@orange.fr
添加该电子邮件将会补充任何缺失的有效贡献。之后,调用API应该显示预期结果。
我已经为每个端点编写了一些说明。如果您有任何问题,请告诉我!
/repos/:owner/:repo/contributors
当您调用GET /repos/:owner/:repo/contributors
时,GitHub API将列出指定存储库的贡献者,并按每个贡献者的提交次数降序排列。由于性能原因,贡献者数据被缓存。此端点可能返回几个小时前的信息。Git贡献者通过作者电子邮件地址进行标识。此API尝试通过所有关联电子邮件地址,将贡献计数分组到GitHub用户中。出于性能原因,仅将存储库中前500个作者电子邮件地址链接到GitHub用户。其余的将显示为没有关联GitHub用户信息的匿名贡献者。
如果您带有指定的anon=1
调用此端点,则API将返回默认分支上所有提交的计数,包括未与GitHub上的任何用户关联的提交。以下是一个示例:
https://api.github.com/repos/jxw1102/Projet-merou/contributors?anon=1
当没有像这样指定anon=1
时:
https://api.github.com/repos/jxw1102/Projet-merou/contributors
请注意,结果仅显示与某些GitHub用户关联的提交,并且不计算合并提交。
/repos/:owner/:repo/stats/contributors
当您调用GET /repos/:owner/:repo/stats/contributors
时,GitHub API将返回具有添加、删除和提交次数的贡献者列表。总计表示贡献者撰写的提交总数。
有帮助吗?
祝一切顺利,
Francis
@francisfuzz
GitHub支持
我遇到了同样的问题,在将devel合并到master后,有些贡献者消失了。GitHub支持回复:
这是预期行为-请阅读该端点的文档:
https://developer.github.com/v3/repos/#list-contributors
“此端点可能返回几个小时前的信息,因为GitHub REST API v3缓存贡献者数据以提高性能。”
因此,您可能需要等待几个小时以获取更新的数据。