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

Git终端提交GitHub时显示错误用户名问题求助

解决GitHub多账号残留导致提交用户名错误的问题

1. 检查当前Git配置

先确认全局和仓库级的账号配置,执行以下命令:

  • 查看全局配置:git config --global --list
  • 查看当前仓库配置:git config --local --list
    通过输出找到多余的user.name和user.email配置项。

2. 清除多余的全局配置

如果错误账号是全局级配置的,执行对应命令删除:

  • 删除全局用户名:git config --global --unset user.name
  • 删除全局邮箱:git config --global --unset user.email
    如果存在多个同名配置项,用--unset-all清除所有对应项:
    git config --global --unset-all user.name

3. 设置正确的全局账号

重新配置你要使用的账号信息:

git config --global user.name "你的正确用户名"
git config --global user.email "你的正确邮箱"

4. 检查并修正仓库级配置

部分仓库可能单独设置了账号,会覆盖全局配置。进入目标仓库目录,执行:

  • 查看仓库级账号:git config --local user.name、git config --local user.email
  • 若配置错误,删除并重新设置:
    git config --local --unset user.name
    git config --local --unset user.email
    git config --local user.name "你的正确用户名"
    git config --local user.email "你的正确邮箱"
    

5. 修正已提交的错误用户名(可选)

如果已经有错误用户名的提交推送到远程仓库,可修改历史提交的作者信息:
执行以下命令(替换括号内的内容):

git filter-branch --env-filter '
OLD_NAME="错误的用户名"
OLD_EMAIL="错误的邮箱"
CORRECT_NAME="你的正确用户名"
CORRECT_EMAIL="你的正确邮箱"
if [ "$GIT_COMMITTER_NAME" = "$OLD_NAME" ] && [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_NAME" = "$OLD_NAME" ] && [ "$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/*'
注意:强制推送会覆盖远程仓库历史,若多人协作需提前告知团队成员。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:40:23