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

如何为已提交的Git commit修改邮箱以计入GitHub贡献统计

解决方法

修改单次最新提交

如果仅需要调整最近一次提交的关联邮箱,直接执行如下命令:
git commit --amend --author="你的GitHub用户名 <你的GitHub绑定邮箱>" --no-edit
修改完成后如果已经推送过该提交到远程,执行git push -f强制推送更新即可。注意:多人协作仓库强制推送前请提前和协作者同步,避免冲突

修改仓库全部历史提交

如果需要批量调整所有历史提交的邮箱信息,使用git自带的filter-branch工具完成批量替换:

  1. 先替换下方命令中的三个参数为你自己的对应信息:
    • OLD_EMAIL:之前提交时使用的本地邮箱,比如示例中的jane@computer.local
    • CORRECT_NAME:你的GitHub账号用户名
    • CORRECT_EMAIL:绑定到你GitHub账号的有效邮箱
  2. 在本地仓库根目录执行如下命令:
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
  1. 本地历史提交修改完成后,执行如下命令强制推送所有更新到远程仓库:
    git push --force --tags origin 'refs/heads/*'

后续避免同类问题

执行全局git配置,固定默认提交身份信息,后续所有本地提交都会默认使用该配置,不会再生成本地格式邮箱:
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub绑定邮箱"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:18:01