从Visual Studio Code执行Git push到GitHub失败提示认证错误如何解决
GitHub推送身份验证报错排查方案
原始报错信息:
> git push origin main:main remote: No anonymous write access. fatal: Authentication failed for 'https://github.com/xItzDiamondx/school.git/'
该报错核心原因为Git本地存储的身份凭证与目标仓库所属账号不匹配、凭证权限不足,或远程仓库配置有误,可按以下步骤依次排查处理:
- 步骤1:修正Git账号配置
打开VSCode内置终端,切换到当前项目目录,先检查仓库级别的用户名、邮箱配置:git config user.namegit config user.email
如果输出结果与目标仓库所属的GitHub账号信息不一致,执行命令修改当前仓库配置:git config user.name "你的GitHub账号用户名"git config user.email "你的GitHub账号绑定邮箱"
如果需要全局生效所有本地仓库,可添加--global参数执行上述命令。 - 步骤2:清除本地旧的Git凭证缓存
不同操作系统清除方式如下:- Windows:打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」,删除所有github相关的存储凭证。
- macOS:打开「钥匙串访问」,搜索github,删除所有对应的互联网密码条目。
- Linux:执行
git credential reject https://github.com,依次输入protocol=https、host=github.com,按两次回车完成缓存清除。
- 步骤3:重新进行身份验证
清除旧凭证后,在项目终端手动执行推送命令:git push origin main
此时会弹出GitHub身份验证提示,选择浏览器授权或者输入个人访问令牌(PAT)验证即可,注意个人访问令牌必须勾选repo类权限才能获得仓库写入权限。 - 步骤4:核对远程仓库配置
如果验证后仍然推送失败,执行命令检查当前仓库绑定的远程地址是否正确:git remote -v
如果输出的origin地址不是目标仓库地址,执行命令修改:git remote set-url origin https://github.com/xItzDiamondx/school.git - 步骤5:确认账号权限
登录目标GitHub账号,进入对应仓库页面,确认当前账号对该仓库拥有写入权限;如果是第三方仓库,确认你已被添加为仓库协作者,或已将仓库Fork到个人账号下、且本地绑定的是你自己Fork后的仓库地址。
内容的提问来源于stack exchange,提问作者1ens
相关产品推荐
相关产品推荐

