403 原因、解决方案
# 403 原因
前置条件:不是网络问题(SSL Connection Reset)、使用 idea 可以推送但用 vscode 就会 403
推测 403(Permission Denied)是由于 VSCode 自带的扩展 "GitHub" 登录 GitHub 账号时请求的权限不足导致。
当使用 "GitHub" 扩展登录账号时,请求的权限可能只有 private repo
,所以其他你拥有权限但不是你独有的仓库,当使用 Git: 克隆
查找 GitHub 项目时,这些仓库也不会显示在列表中,并且搜索也不会起作用,当你从本地推送云端时,也会出现权限不足的问题。
终端输出大致如下:
> git push origin main:main | |
remote: Permission to xxx/xxx denied to xxx. | |
fatal: unable to access 'https://github.com/xxx/xxx.git/': The requested URL returned error: 403 |
# 解决方案
-
对权限不足的项目更改 origin.url,使用独立认证
更改 remote 地址如:
https://{token}@github.com/xxx/xxx.git
(token 指的是 Personal access tokens) -
使用 git 全局配置
执行如下命令:
git config --global url."https://{token}@github.com".insteadOf "https://github.com"
或者> git config --global github.token <你的GitHub token>
> git config --global github.user <github上的用户名>