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

更新Git用户名后仍遇GitHub推送权限拒绝问题求助

解决GitHub推送权限拒绝(旧用户名残留)问题

问题核心分析

Git的全局user.name仅用于提交记录的署名,不影响推送时的身份认证。你遇到的旧用户名VIJAYANAARAAYANAN权限拒绝,大概率是本地存储的认证凭据、仓库级配置或SSH密钥关联了旧身份导致的。

具体解决步骤

1. 检查并修正仓库本地的Git配置

仓库可能存在独立于全局的用户名配置,覆盖了你的全局设置:

  • 执行命令查看当前仓库的用户名:
    git config user.name
    
  • 如果返回旧用户名VIJAYANAARAAYANAN,执行以下命令修正:
    git config user.name "VijayNaaraayanan"
    

2. 彻底清除Windows凭据管理器中的GitHub认证信息

Windows会缓存HTTPS推送的用户名和密码,旧凭据可能仍在生效:

  • 打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」
  • 找到所有包含github.com的条目(例如git:https://github.com),右键删除
  • 重新执行git push -u origin main,在弹出的认证窗口中输入正确用户名VijayNaaraayanan和个人访问令牌(作为密码)

3. 验证SSH密钥的关联身份(若使用SSH认证)

如果切换SSH后问题依旧,需确认当前SSH密钥是否关联正确账号:

  • 执行命令测试SSH连接:
    ssh -T git@github.com
    
  • 若返回的用户名不是VijayNaaraayanan,说明当前使用的SSH密钥属于旧账号:
    • 删除旧的SSH密钥文件(位于~/.ssh目录下,如id_rsa)
    • 重新生成SSH密钥:
      ssh-keygen -t ed25519 -C "your-email@example.com"
      
    • 将新生成的公钥(~/.ssh/id_ed25519.pub内容)添加到GitHub账号的「SSH and GPG keys」列表中

4. 确认并重置仓库远程URL

确保远程仓库URL关联的是你的正确账号:

  • 查看当前远程URL:
    git remote -v
    
  • 若URL中的用户名错误,执行以下命令修正(HTTPS示例):
    git remote set-url origin https://github.com/VijayNaaraayanan/Netflix-clone.git
    
    或SSH示例:
    git remote set-url origin git@github.com:VijayNaaraayanan/Netflix-clone.git
    

5. 强制触发重新认证

执行以下命令重置Git凭据助手,确保下次推送时重新获取正确身份:

git config --global credential.helper wincred
git push -u origin main

内容的提问来源于stack exchange,提问作者VIJAYA NAARAAYANAN B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 14:11:11