[TOC]

前言:

前几天写了几篇博客,一直都忘记上传到网站上,今天来整理时出现了以前不曾遇到的问题,刚开始只是不停的爆红:

image-20210815201119296

当然这是没有上代理的老问题了,结果等我上了代理后仍然不行,但是这一次却没有爆红(原谅我一直在hexo d,却没有思考问题在哪里)

image-20210815192020755

问题排查与探究:

我刚开始看中的是:

image-20210815201512028

一直在找它的问题

 The requested URL returned error: 403
FATAL {
err: Error: Spawn failed

找了一大堆,比较关键的观点都是让我将控制面板中的凭据管理器中的Windows关于GitHub的凭据删掉,再去git push等等。

搞了好久都未发现问题所在,直到我漫不经心的看到这两行话:

image-20210815202001635

remote: Support for password authentication was removed on August 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.

这时我才发现这句话说的是密码凭证已经在2021.08.13被移除,请使用个人访问令牌(PAT),然后我就去访问它所提供的网址:

image-20210815202434362

image-20210815202523380

总结一下:它的意思是作为开发者必须使用PAT或者https

我之前一直使用的就是SSH密钥免密登录,就去找如何将SSH密钥转为PAT

GitHub不再支持密码验证解决方案:SSH免密与Token登录配置

但是这篇文章不太符合我的目的,并且有点牛头蛇尾的。

https://www.cnblogs.com/milton/p/15073368.html

image-20210815203103259

按图索骥

在官网上讲解了如何去创建个人访问令牌(PAT),当然这些都比较容易,但是我还是不知道如何去转换啊?

image-20210815203330204

末尾就很有用:

image-20210815203444789

解决方案:

首先我点进 将远程 URL 从 SSH 切换到 HTTPS

image-20210815203619596

这就很有用,我按照步骤来,但是我不明白本地仓库怎么搞,我反复搜寻,发现上面那篇有点牛头蛇尾的文章就是是将远程仓库以SSH的方式下载到本地,

image-20210815204101288

我通过

image-20210815204249693

这里我已经使用了https://,但是我一直以为我还是SSH clone,其实问题出在我的当前目录并不是本地仓库,

后面我这样:

image-20210815204712250

image-20210815204857542

下次对远程仓库执行 git fetchgit pullgit push 操作时,您需要提供 GitHub 用户名和密码。 当 Git 提示您输入密码时,请输入您的个人访问令牌 (PAT)。 基于密码的身份验证对 Git 已弃用,使用 PAT 更安全。

官网上是这样解释的,但是我不知道如何进行git push or pull,我后来想明白我在Hexo上上传不就是push。

在命令行hexo工作目录使用hexo d,提示让我输入密码:

image-20210815195311910

然后运行:

image-20210815205234666

继续:

这就成功了!