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

Git/Github多账号提交问题:新仓库显示旧账号署名

解决Git提交者归属错误问题

问题场景:拥有MainAccount和NewAccount两个Github账号,在NewAccount的仓库开发并推送代码后,提交记录显示为MainAccount,贡献面板未正确统计NewAccount的提交:
贡献面板截图

Git提交的身份由本地仓库配置的user.name和user.email决定,与当前登录的Github账号无关。出现这个问题是因为你当前项目的Git身份还是MainAccount的信息,按以下步骤解决:

一、设置当前仓库的Git身份(仅针对当前项目)

  • 打开项目终端,执行命令设置NewAccount的用户名和邮箱:
    git config user.name "你的NewAccount用户名"
    git config user.email "NewAccount绑定的Github邮箱"
    
  • 验证配置是否生效:
    git config user.name
    git config user.email
    
    确认输出为NewAccount的信息即可。后续新提交将自动归属到NewAccount。

二、全局默认使用NewAccount(可选)

如果希望所有新建仓库默认使用NewAccount身份,执行全局配置命令:

git config --global user.name "你的NewAccount用户名"
git config --global user.email "NewAccount绑定的Github邮箱"

三、修正已提交的历史记录(可选)

如果需要将之前错误归属的旧提交改为NewAccount,执行以下命令(注意:此操作会修改仓库历史,公共仓库请谨慎使用):

git filter-branch --env-filter '
OLD_EMAIL="MainAccount的绑定邮箱"
CORRECT_NAME="你的NewAccount用户名"
CORRECT_EMAIL="NewAccount绑定的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

执行完成后,强制推送到远程仓库:

git push --force --tags origin 'refs/heads/*'

四、验证结果

修改完成后,等待Github后台同步数据,刷新贡献面板即可看到提交已正确归属到NewAccount。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:17:40