当我尝试使用git pull时,我在控制台上得到了这个错误:
remote:在2021年8月13日删除了对密码认证的支持。请改用个人访问令牌。
remote:请参阅https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/了解更多信息。
致命:无法访问“…”:请求的URL返回错误:403
这很奇怪,因为我只是在两周前按照文档在GitHub上创建了一个令牌。该代币将于2021年10月26日周二到期。为什么今天这个被删除了?
从2021-08-13开始,GitHub在验证Git操作时不再接受帐户密码。您需要添加一个PAT(个人访问令牌),您可以按照下面的方法在您的系统上添加一个PAT。
在GitHub上创建个人访问令牌
从你的GitHub账户,点击设置→开发者设置→个人访问令牌→生成新的令牌(给出你的密码)→填写表格→点击生成令牌→复制生成的令牌,它将是ghp_sFhFsSHhTzMDreGRLjmks4Tzuzgthdvfsrta
现在根据您的机器执行以下方法:
Windows操作系统⤴
从控制面板转到凭据管理器→Windows凭据→找到git:https://github.com→编辑→打开密码替换为您的GitHub个人访问令牌→完成
如果你没有找到git:https://github.com→点击添加一个通用凭证→互联网地址将是git:https://github.com,你需要输入你的用户名和密码将是你的GitHub个人访问令牌→点击确定,你就完成了
macOS版本⤴
点击菜单栏右侧的Spotlight图标(放大镜)。输入钥匙链访问,然后按Enter键启动应用程序→在钥匙链访问,搜索github.com→找到github.com的互联网密码条目→编辑或删除相应的条目→你就完成了
linux操作系统⤴
对于Linux,需要使用用户名配置本地GIT客户端
电子邮件地址,
$ git配置——全局用户名“your_github_username”
$ git配置——全局用户。电子邮件“your_github_email”
$ git config -l
一旦配置了GIT,我们就可以开始使用它来访问GitHub。
例子:
$ git克隆https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
克隆到' YOUR-REPOSITORY '…
用户名:<输入您的用户名>
密码:<输入您的密码或个人访问令牌(GitHub)
现在在你的计算机中缓存给定的记录来记住令牌:
$ git配置——全局凭证。辅助缓存
如果需要,你可以随时删除缓存记录:
$ git config——global——unset credentials .helper
$ git config——system——unset credential.helper
现在试着用-v来验证
$ git拉-v
Linux / Debian
(克隆如下):
Git克隆https://<tokenhere>@github.com/<user>/<repo>.git
对于PhpStorm
如果您正在使用PhpStorm,请进入菜单Git→拉并选择通过个人访问令牌进行身份验证。输入您的PAT,它将允许您拉/推更改。
我不知道什么真的有用,但我知道它现在对我有用。以下是我所做的一切:
生成PAT并用作密码-它不起作用。
在Windows凭据管理器中清除github.com条目-不工作。
将PAT添加到存储库URL,如下所示
https:// < personal-access-token > @github.com/ < my-repo-url >
它起作用了,但我不喜欢这个解决方案。
重新启动电脑。从https://git-scm.com安装了最新的Git -在Sourcetree -菜单工具→选项→Git→Git版本-选择“系统”。
从存储库URL中删除了PAT -它仍然有效。
在我看来,安装新的“Git”真的很有帮助,所以第三步可能是不必要的,但我不能确定。我不知道如果不临时向URL添加PAT,它是否会工作。也许它还在某个地方保存了一些东西。