I have read the following doc (https://developer.github.com/v3/repos/#list-contributors) to list contributors on a repository I have worked on, and I can see that one person who committed several times does not appear, and myself only have 3 contributions whereas I pushed most of our 301 commits.
I don't really get what this end-point returns, but it does not look accurate. The doc is not very detailed about that, does anybody know something that might explain it ?
答案 0 :(得分:5)
我将问题提交给了Github API的支持,他们给了我一个非常详细的答案。这是(缩短):
看起来您的遗失提交是使用电子邮件地址创作的 没有链接到您的GitHub个人资料。你可以找到丢失的电子邮件 添加" .patch"到提交URL的末尾,然后查看 "自:"线。收到电子邮件后,您可以将其链接到您的个人资料 遵循这些说明:
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用户名的最新提交时 作者并将.patch添加到URL中,如下所示:
https://github.com/jxw1102/Projet-merou/commit/f5bf30243ab99efc40802d3d78c08e49839ec9c9.patch
我在第二行看到了这一点:
From: Dicee courtinot.david@orange.fr
添加该电子邮件将回填任何缺少的有效捐款。后 你这样做,调用API应该显示预期的结果。
API端点:贡献者和贡献者统计
我已经在下面写了一些关于每个端点的注释。让我知道 如果您有任何问题!
<强> /回购/:所有者/:回购/贡献者强>
当您致电
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相关的提交 用户并不计算合并提交。
<强> /回购/:所有者/:回购/统计/贡献者强>
当你致电
GET /repos/:owner/:repo/stats/contributors
时,GitHub API将返回贡献者列表,其中包含添加,删除和 提交计数。总数表示创作的提交总数 贡献者。这有帮助吗?
一切顺利,
弗朗西斯
@francisfuzz
GitHub支持
答案 1 :(得分:0)
在将devel与master合并后,我遇到了同样的问题。有一些贡献者不见了。 GitHub支持已回复:
这是预期的行为-请阅读该文档 端点:
https://developer.github.com/v3/repos/#list-contributors
“此端点可能返回几个小时的信息,因为 GitHub REST API v3缓存贡献者数据以改进 性能。”
因此,您可能需要等待几个小时才能获取更新的数据。