You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git提交未显示在GitHub贡献图,邮箱配置异常求助

GitHub贡献图未显示提交的解决方法

问题背景

  • 小型项目此前提交均正常,上周五的5次提交未出现在GitHub贡献图中
  • 查看提交的.patch详情发现,提交使用的邮箱为manudequevedo@gmail.comm(正确应为manudequevedo@gmail.com),无法定位错误邮箱来源
  • 项目通过GH Pages发布,仓库地址:https://github.com/ManudeQuevedo/FEM-newsletter-signup

已尝试的无效操作

  • 执行git config --global user.name,姓名显示正确
  • 执行git config --global user.mail(注:该命令拼写错误,正确应为user.email),邮箱显示正确
  • 在当前仓库执行不带--global参数的git config命令
  • 确认GitHub设置中的邮箱与注册邮箱一致,重新配置全局user.name和user.email,移除并重新添加GitHub邮箱

正确解决步骤

1. 排查并修正Git配置

首先检查当前仓库的本地配置(全局配置可能被仓库本地配置覆盖):

# 列出当前仓库的所有本地配置
git config --local --list

如果发现user.email为错误的manudequevedo@gmail.comm,执行以下命令修正:

git config --local user.email "manudequevedo@gmail.com"

同时用正确命令确认全局配置:

git config --global user.email

确保输出为正确邮箱。

2. 批量修正历史提交的错误邮箱

已存在的提交使用了错误邮箱,需要改写历史提交信息:
在项目根目录执行以下脚本(替换对应的旧邮箱、新邮箱和你的GitHub用户名):

git filter-branch --env-filter '
OLD_EMAIL="manudequevedo@gmail.comm"
CORRECT_EMAIL="manudequevedo@gmail.com"
CORRECT_NAME="你的GitHub用户名"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
fi
' --tag-name-filter cat -- --branches --tags

执行完成后,强制推送到远程仓库(注意:此操作会覆盖远程仓库历史,若有协作开发者需提前沟通):

git push --force --all
git push --force --tags

3. 验证结果

  • 再次查看提交的.patch文件,确认邮箱已更正
  • 等待1-2小时后,检查GitHub贡献图是否显示这些提交

4. 预防后续错误

  • 确保全局和仓库本地的user.email均配置正确,避免拼写错误(比如多打一个m)
  • 可在GitHub设置中启用noreply邮箱,绑定到Git配置,避免邮箱拼写问题影响贡献统计

内容的提问来源于stack exchange,提问作者Manu de Quevedo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:34:53