You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

GitHub接受拉取请求后提交者未显示为贡献者的问题咨询

嘿,这个问题我碰到过好几次,大概率是这几个原因,咱们一个个说清楚,再给你解决办法:

可能的原因及对应解决办法

1. 提交者的邮箱未与GitHub账号关联(最常见)

GitHub是通过提交里的邮箱地址来匹配用户账号的。如果提交者本地Git配置的邮箱没有在他的GitHub账号中添加并验证,GitHub就没法把这次提交和他的账号绑定,自然不会把他计入贡献者。

比如他本地用的是xxx@qq.com,但GitHub账号里只加了xxx@gmail.com且未验证前者,那这次提交就会被当成“匿名”或者归属到错误账号(如果这个邮箱被其他GitHub用户绑定了)。

解决办法

  • 让提交者登录GitHub账号,进入「Settings」→「Emails」,把提交时用的邮箱添加进去并完成验证。
  • 完成后,GitHub会自动重新扫描仓库提交历史,一般几小时内就会把他加到贡献者列表里。

2. 合并方式导致提交归属错误

如果你合并PR时用的是Squash and Merge(压缩合并),并且在合并过程中手动修改了提交的作者信息,或者提交者的邮箱未关联,那么生成的新提交会被归属到你(合并者)的名下,而非原提交者。

另外,如果提交者是通过GitHub网页直接编辑文件提交的,但用的是未验证的noreply邮箱(比如username@users.noreply.github.com),也会出现这个问题。

解决办法

  • 先用git log查看合并后的提交作者是谁。如果确实是你的信息,你可以用git commit --amend --author="提交者姓名 <提交者邮箱>"修改提交作者,之后强制推送到master分支(注意:强制推送会覆盖远程分支,仅在没人基于该提交工作时建议操作)。
  • 让提交者验证他的noreply邮箱(GitHub会自动生成这个邮箱,在「Settings」→「Emails」里可以找到并验证)。

3. GitHub贡献者统计的延迟

GitHub的贡献者列表和贡献统计不是实时更新的,有时候需要等几个小时甚至一天,尤其是仓库比较大的时候,后台需要时间扫描全量提交历史。

解决办法

  • 耐心等待一段时间,刷新页面看看是否更新。如果超过24小时还没显示,可以尝试让提交者在仓库的「Insights」→「Contributors」页面手动触发刷新(通常页面加载时会自动扫描,但若有缓存可能需要重新加载)。

内容的提问来源于stack exchange,提问作者Sergey Emeliyanov

火山引擎 最新活动