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

Pycharm或终端推送的提交未计入GitHub commit日历如何解决?

解决PyCharm推送Git提交不计入GitHub贡献日历问题

问题根源

GitHub贡献日历计数、提交头像绑定的核心规则是:提交信息中附带的邮箱地址,必须和你GitHub账号已绑定并验证的邮箱完全一致。PyCharm提交时读取的本地Git配置邮箱和GitHub不匹配,就会出现提交可见但不计入贡献、无头像的问题。

提示:如果你开启了GitHub的邮箱隐私保护,必须使用系统提供的@users.noreply.github.com格式的匿名邮箱作为提交邮箱,否则提交不会被计数。

修复步骤

  • 第一步:确认GitHub绑定邮箱
    登录GitHub账号,进入右上角个人设置→Emails页面,记录你已验证的主邮箱,若开启了隐私保护则记录页面显示的noreply匿名邮箱。
  • 第二步:修改本地Git配置
    打开Windows终端(CMD/PowerShell),执行以下命令修改配置:
    1. 全局生效(所有本地仓库都使用该配置)
    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你刚才记录的GitHub绑定邮箱"
    
    1. 仅对当前项目仓库生效
      先cd进入你的项目根目录,再执行:
    git config user.name "你的GitHub用户名"
    git config user.email "你刚才记录的GitHub绑定邮箱"
    
  • 第三步:校验PyCharm Git配置
    打开PyCharm,进入File→Settings→Version Control→Git,点击「Configure Git User」,确认弹出的邮箱和用户名和上面的配置一致,不要单独设置和GitHub不匹配的提交信息。
  • 第四步:验证修复结果
    本地修改任意文件后新建commit推送至GitHub,刷新仓库commits页面即可看到头像正常显示,新提交也会计入贡献日历。

可选:补录之前未计数的历史提交

如果需要把之前提交的记录也补到贡献日历里,可执行命令修改本地仓库的历史提交邮箱,仅适用于个人私有仓库、无其他协作人员的场景:

git filter-branch --env-filter '
OLD_EMAIL="你之前用错的旧邮箱"
CORRECT_NAME="你的GitHub用户名"
CORRECT_EMAIL="你的GitHub绑定邮箱"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

修改完成后强制推送即可更新远程仓库的历史提交信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:48:04