Git Bash访问GitHub仓库返回403错误 权限被拒绝如何解决
Git 访问GitHub仓库返回403权限错误排查方案
完整报错信息:
remote: Permission to rakeshuke/my-new-repo-ru.git denied to dilip26jan.
fatal: unable to access 'https://github.com/rakeshuke/my-new-repo-ru.git': The requested URL returned error: 403
报错核心原因是当前发起请求的账号dilip26jan没有目标仓库的对应访问权限,按以下步骤逐一排查解决:
- 清理本地错误缓存的GitHub凭证
这类问题90%以上是本地缓存了其他GitHub账号的登录凭证,导致请求时自动用无权限的账号发起访问。
Windows系统直接打开「控制面板 > 用户账户 > 凭据管理器 > Windows凭据」,找到所有host为github.com的凭据条目全部删除。
也可以直接在Git Bash执行命令清理Git凭证管理器的缓存:
执行后依次输入git credential-manager eraseprotocol=https、host=github.com,每输完一行按回车,全部输入完成后再按两次回车即可完成清理。 - 核对目标仓库的权限配置
如果你确实需要使用dilip26jan账号访问该仓库,登录该账号后联系仓库所有者rakeshuke,确认是否已将该账号添加为仓库协作者,并分配了对应操作(拉取/推送)的权限:私有仓库任何操作都需要协作者权限,公开仓库拉取不需要权限,但推送必须有写入权限。 - 校验本地绑定的远程仓库地址
执行以下命令查看当前本地仓库绑定的远程地址:
核对输出的地址是否和目标仓库地址完全一致,确认没有拼错用户名、仓库名。如果地址错误,执行以下命令修改:git remote -v
不想反复处理HTTPS凭证问题的话,可以直接把远程地址换成SSH格式,提前将本地生成的SSH公钥添加到有权限的GitHub账号的SSH Key列表中,后续访问不会再出现凭证串号导致的403问题。git remote set-url origin 正确的仓库地址 - 重新验证身份执行操作
完成以上步骤后,重新执行之前的pull/push等操作,Git会自动弹出GitHub登录验证窗口,正确登录拥有仓库访问权限的账号即可正常操作。
也可以提前配置全局Git身份信息,避免身份识别异常:git config --global user.name "你的GitHub用户名" git config --global user.email "你的GitHub绑定邮箱"
内容的提问来源于stack exchange,提问作者rakesh uke
相关产品推荐
相关产品推荐

