更新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」列表中
- 删除旧的SSH密钥文件(位于
4. 确认并重置仓库远程URL
确保远程仓库URL关联的是你的正确账号:
- 查看当前远程URL:
git remote -v - 若URL中的用户名错误,执行以下命令修正(HTTPS示例):
或SSH示例:git remote set-url origin https://github.com/VijayNaaraayanan/Netflix-clone.gitgit 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
相关产品推荐
相关产品推荐

