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


当前回答

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

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

现在启用PAT

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

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

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

Username: your_username
Password: your_token

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

小心

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

组织。

确保你是那个组织的成员

或者是一些个人存储库,

请确保已启用以下功能

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

进入组织设置:

启用成员特权:

其他回答

如果项目是在2020年8月13日之前克隆的,在项目目录中运行这些命令:

git remote set-url <remote_name> <remote_url>
git pull

输入您的用户名和个人访问令牌作为密码。

密码认证支持已于2021年8月13日移除。请改用个人访问令牌。

解决方案

创建一个GitHub个人访问令牌(PAT)并复制它。 对于macOS,将其添加到GitHub下的KeyChain Access。 重点搜索→输入KeyChain→选择KeyChain访问→搜索github.com→粘贴您的PAT 对于Windows,将PAT添加到用户的Windows凭据中。 搜索→键入凭据管理器→将您的PAT添加到github.com 如果存储库是某个组织的一部分,您还需要使用个人访问令牌登录到该组织,以便该组织能够识别它。如果您已经登录,请先退出。 Git克隆照常:-)

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

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

它工作!

在获得令牌密钥后,如下所示:

从您的GitHub帐户创建个人访问令牌 进入设置=>开发人员设置=>个人访问令牌=>生成 新令牌(提供您的密码)=>填写表单=>单击生成 复制生成的token(它将类似于 ghp_sFhFsSHhTzMDreGRLjmks4Tzuzgthdvfsrta)

在您的终端中使用以下命令:

git clone https://your_username:your_github_token@github.com/username/private-repo.git

作为安全预防措施,GitHub会自动删除一年未使用的个人访问令牌。为了提供额外的安全性,我们强烈建议为您的个人访问令牌添加过期时间。

只需遵循创建令牌。