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

为何GitHub替换我仓库的提交作者名?如何恢复为自身账户?

问题修复:GitHub提交作者显示错误账户

问题背景

本地仓库提交的git log显示作者为自己的账户MyAccountName <dummy@email.com>,本地git配置也正确关联自己的GitHub仓库,但GitHub页面上所有提交的作者都显示为无关账户ExampleOrgz,后续推送的提交也存在同样问题。

可能原因及修复步骤

1. 检查GitHub邮箱关联

登录自己的GitHub账户,进入Settings → Emails:

  • 确认本地配置的dummy@email.com已添加到自己的账户中并完成验证
  • GitHub会根据提交的邮箱匹配关联账户,若该邮箱被ExampleOrgz账户绑定,需确保自己的账户优先关联该邮箱(或更换本地提交邮箱为自己GitHub账户已验证的邮箱)

2. 修正本地提交历史并强制推送

若邮箱已正确关联自己的账户,但历史提交仍显示错误作者,需重写提交历史:

  • 先备份本地仓库(复制整个仓库文件夹到安全位置)
  • 在仓库根目录执行以下脚本(替换为自己的账户信息):
git filter-branch --env-filter '
OLD_EMAIL="dummy@email.com"
CORRECT_NAME="MyAccountName"
CORRECT_EMAIL="dummy@email.com"
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
  • 强制推送到远程仓库:
git push origin --force --all
git push origin --force --tags

3. 验证推送凭据

由于使用了个人访问令牌,需确认本地存储的凭据属于自己的账户:

  • 在Mac上打开钥匙串访问,搜索github.com,检查对应的账户是否为MyAccountName
  • 若存储的是ExampleOrgz的凭据,删除后重新推送,输入自己的个人访问令牌

4. 确认全局git配置

检查全局git配置是否正确:

git config --global user.name
git config --global user.email

确保输出为自己的账户名和已验证的邮箱,避免后续提交出现同样问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:04:55