今天上班的时候突然发现git仓库出现问题,任何操作都会返回以下警告。

13, 2021. Please use a personal access token instead. remote: Please
see
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
for more information. fatal: unable to access
'https://github.com/xxxx/xxx/': The requested URL returned error: 403

这其实是git修改了验证方式

截屏2021-08-16 上午9.43.21.png

解决方案有多种,你可以配置ssh免密码登陆,或者修改仓库远程地址。
ssh的配置方法网上有很多,这里就不再赘述。
直接我主要提供修改远程仓库的地址来恢复仓库使用,方法有三种。

当然修改仓库地址之前你需要先获取一个token。

  1. 首先网站登陆你的 github
  2. 然后在头像中找到settings
    截屏2021-08-16 上午9.49.57.png
  3. 之后左侧边栏找到 Developer settings
    截屏2021-08-16 上午9.50.28.png
  4. 点击 Personal access tokens
    截屏2021-08-16 上午9.51.49.png
  5. 点击 Generate new token 进入配置页面生成一个新的 token
    截屏2021-08-16 上午9.52.46.png 起一个名字,选择有效期,配置好这个token的权限。
  6. 之后将这个token复制下来,刷新页面之后就看不到了,只能删除。

这时候我们已经获得了 token 接下来就是修改403的仓库了。

方法1

进入仓库下,修改 ./.git/config 配置文件 将 [remote "origin"] 下的 url 修改为如下格式

https://<your_token>@github.com/xxx/xxx.git

这个格式其他方法也会用到。

截屏2021-08-16 上午9.59.13.png

方法2

到仓库根目录下执行 git 的修改远程url的指令。

查看远程分支
git remote

修改远程分支url的地址,格式和方法1一致
git remote set-url origin https://<your_token>@github.com/xxx/xxx.git

方法3

其实就是方法二的另一种写法

查看远程分支
git remote

删除远程分支
git remote rm origin

添加远程分支
git remote add origin https://<your_token>@github.com/xxx/xxx.git

检查

通过以上修改理论上仓库就可用了,我们通过 fetch 检查一下

git fetch origin

好了,仓库可以正常使用了。