可克隆Git仓库但无法commit和push,GitHub提示未授权该如何解决?
GitHub推送未授权问题排查解决方案
凭证问题排查
- GitHub自2021年8月起不再支持HTTPS连接下使用账号原密码进行推送操作,密码字段需填写个人访问令牌(PAT),即使你输入的原密码可以正常登录网页端GitHub,也会触发未授权报错。
- 清除本地存储的过期凭证后重新认证:
- Windows系统:打开「凭据管理器」→「Windows凭据」,找到前缀为
git:https://github.com的条目,删除后重新执行推送操作,弹窗时用户名填写GitHub账号,密码填写PAT。 - Mac系统:打开「钥匙串访问」,搜索
github.com,删除对应的互联网密码条目后重试。 - 通用命令行操作:执行
git config --global credential.helper查看当前使用的凭证存储工具,执行git credential reject https://github.com清除旧的GitHub凭证。
- Windows系统:打开「凭据管理器」→「Windows凭据」,找到前缀为
个人访问令牌权限校验
- 生成PAT时必须勾选
repo类别的全部权限,若仅勾选只读权限,就会出现可以正常克隆但无法推送的问题。 - 确认PAT未超出你设置的过期时间,过期令牌也会触发未授权报错。
仓库配置校验
- 执行
git remote -v查看当前仓库绑定的远程地址,确认地址与目标仓库一致,无拼写错误。 - 若使用SSH协议连接远程仓库,执行
ssh -T git@github.com验证本地SSH密钥与GitHub账号的绑定状态,确认密钥未过期且已添加到账号设置中。
仓库权限校验
- 确认你的账号对目标仓库拥有写权限:如果是第三方仓库,需确认你已被添加为仓库协作者,或已将仓库Fork到自己账号下后推送到Fork副本,再提交PR到上游仓库。
- 如果仓库开启了分支保护规则,确认你要推送的分支不在受保护范围内,或你拥有对应分支的推送权限。
内容的提问来源于stack exchange,提问作者Andrewl15
相关产品推荐
相关产品推荐

