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

如何解决Visual Studio提交代码时GitHub用户名无法正确关联的问题

问题成因

GitHub识别提交者身份的核心依据是提交记录中携带的提交人邮箱,与你是否在Visual Studio中登录GitHub扩展没有直接关联:GitHub会将提交记录里的邮箱和账号下已验证的邮箱列表做匹配,匹配成功才会关联你的账号、显示头像并支持跳转。你遇到的问题绝大多数是本地Git配置的提交人邮箱和GitHub账号绑定的邮箱不匹配导致的。

修复步骤

第一步:确认当前提交使用的身份信息

打开你本地仓库对应的终端,执行以下命令查看最近一次提交的提交人信息:

git log --pretty=format:"%an <%ae>" -1

执行后输出的<>包裹的内容就是你提交用的邮箱,先确认该邮箱是否是你GitHub账号下已验证的邮箱。

第二步:修正本地Git配置

根据你的需求选择全局生效或者仅当前仓库生效的配置:

  • 全局配置(所有本地仓库都生效):
    git config --global user.name "你的GitHub官方用户名"
    git config --global user.email "你GitHub账号绑定并验证通过的邮箱"
    
  • 仅当前仓库生效:
    git config user.name "你的GitHub官方用户名"
    git config user.email "你GitHub账号绑定并验证通过的邮箱"
    

如果你开启了GitHub的「隐藏个人邮箱」功能,需要填写GitHub为你生成的专属noreply邮箱,格式为你的用户ID+你的用户名@users.noreply.github.com,该邮箱可以在GitHub的「设置-邮箱」页面查到。

第三步:修正已提交的历史提交信息(可选)

如果需要修复已经推送到GitHub的旧提交的关联信息,可以按以下操作处理:

  1. 如果你只需要修正最近N次提交,将下方命令的3替换为你要修正的提交次数:
    git rebase -i HEAD~3
    
  2. 在弹出的编辑界面中,将所有需要修改的提交前的pick改为edit,保存退出
  3. 每触发一次rebase暂停,就执行以下命令修正提交人信息:
    git commit --amend --author="你的GitHub用户名 <你的绑定邮箱>" --no-edit
    git rebase --continue
    
  4. 所有修改完成后,强制推送更新到远程仓库:
    git push --force-with-lease
    

第四步:确认GitHub邮箱配置

登录GitHub账号,进入「设置-邮箱」页面,确认你提交用的邮箱已经在邮箱列表中,且状态为已验证。如果使用noreply邮箱,需要同时开启「Keep my email addresses private」选项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:09:00