当我尝试使用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日周二到期。为什么今天这个被删除了?


当前回答

对于那些按照指示生成个人访问令牌,但忘记选择合适范围的人:

请务必记住选择合适的范围,如存储库。无论您使用以前的密码还是没有合适范围的新令牌,都不会得到不同的错误提示。

其他回答

我不知道什么真的有用,但我知道它现在对我有用。以下是我所做的一切:

生成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,它是否会工作。也许它还在某个地方保存了一些东西。

首先,您需要基于SSH密钥的身份验证

Windows教程:SSH密钥验证 Linux/Mac教程:SSH基于密钥的身份验证 文档

然后

生成个人令牌 设置你的用户名:git config——global user.name "userName" 设置您的电子邮件地址:git config—global user。电子邮件“电子邮件” Git配置——全局凭据。辅助缓存 Git push/ Git pull之类的用户名和密码(个人token)


你可以跟随这个视频:使用Git和GitHub的个人访问令牌

对于任何使用Sourcetree作为Git客户端的人,打开首选项→进入帐户选项卡→添加GitHub帐户→认证类型=基本→填写您的GitHub帐户和您创建的GitHub访问令牌作为密码→使用HTTPS协议→完成!

GitHub在密码认证方面做了一些改变。如果您试图通过用户名和密码访问Git,那么它将不允许您访问。因此,使用个人访问令牌而不是密码来在任何地方访问Git。

下面是生成个人访问令牌的步骤。

点击这里获取令牌- https://github.com/settings/tokens

步骤1 -打开GitHub和登录与您的凭证。

步骤2 -单击“设置”菜单。

步骤3 -从设置菜单单击开发人员设置

步骤4 -从开发人员设置菜单,单击个人访问令牌

步骤5 -从个人访问令牌中,单击Generate new令牌按钮。

第6步-现在填写所需的详细信息,如注意,到期,选择范围。然后单击Generate Token按钮。

步骤7 -在此之后,生成了一个新的令牌。复制生成的令牌,并使用该令牌使用用户名和令牌访问Git。

如果您使用的是Windows操作系统,请按照以下步骤操作。

打开控制面板→用户帐户→管理您的凭证→Windows凭证。

它将显示所有通用凭证。找到你的GitHub URL并点击它。现在点击编辑按钮。然后将从GitHub生成的个人访问令牌添加到密码字段中。然后点击保存按钮。

现在您可以访问Git了。

如果你在Android Studio中访问Git,如果被要求输入密码,那么在任何地方添加GitHub个人访问令牌,而不是你的密码。

最近GitHub更新了他们的远程:支持密码认证。它于2021年8月13日被删除,以使用PAT(个人访问令牌)来访问GitHub API。

你可以在这里的博客文章中阅读。

现在启用PAT

登录你的GitHub账户。 按照这篇文章进行下一步操作。

现在要在命令行上使用令牌,执行以下操作:

git clone https://github.com/username/repo.git

Username: your_username
Password: your_token

请注意,您的令牌有一个过期时间,必须私下保存,并在需要在命令行上进行身份验证时使用。

小心

如果你克隆到一个存储库,该存储库属于:

组织。

确保你是那个组织的成员

或者是一些个人存储库,

请确保已启用以下功能

组织/个人需要启用远程克隆和分叉,如下所示:

进入组织设置:

启用成员特权: