Git提交无GitHub贡献记录+Git配置邮箱异常问题求助
问题解答
是的,这就是导致GitHub个人主页不显示贡献记录的核心原因。
GitHub判断贡献记录的依据是commit中携带的邮箱地址必须与你GitHub账号绑定且已验证的邮箱完全匹配,同时用户名也需要和你GitHub账号的用户名对应上。你收到的git提示说明当前设备的git身份是自动生成的(基于主机名和用户名),这个身份和你的GitHub账号不匹配,所以提交的代码不会被算作你的贡献。
解决步骤:
设置全局git身份
必须把git的用户名和邮箱配置成你GitHub账号对应的信息,执行以下命令:git config --global user.name "你的GitHub用户名" git config --global user.email "你GitHub账号绑定的已验证邮箱"注意:邮箱一定要是在GitHub后台「Settings」→「Emails」里添加并验证过的,包括GitHub提供的noreply邮箱(比如
xxx@users.noreply.github.com)也可以。修复已提交的历史commit
之前用错误身份提交的commit,需要重置作者信息才能被GitHub识别:- 如果是最近的一次提交,直接执行:
之后重新推送到仓库(如果已经推过远程,需要用git commit --amend --reset-authorgit push --force,注意公共仓库谨慎使用强推)。 - 如果是多个历史提交,用交互式rebase批量修改:
在弹出的编辑器里,把需要修改的commit前的git rebase -i HEAD~N # N是你要修改的最近N个commit数量pick改成edit,保存退出后,逐个执行git commit --amend --reset-author,完成后执行git rebase --continue,最后推送到远程。
- 如果是最近的一次提交,直接执行:
完成以上操作后,新的提交会正常显示在你的GitHub主页贡献记录里,修复后的历史commit也会被GitHub重新识别为你的贡献。
内容的提问来源于stack exchange,提问作者acodeaday
相关产品推荐
相关产品推荐

