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


当前回答

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

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

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

其他回答

如果您使用macOS,并且在KeyChain访问中没有找到github.com条目:

尝试执行一个Git操作 它会询问用户名 输入您的GitHub用户名 从个人访问令牌生成一个新密钥 在密码字段中,输入这个新生成的令牌值 现在你可以在KeyChain Access→login中看到github.com的新条目

Mac用户

生成一个令牌并将其设置在keychain中。

这个简短的视频很好地解释了这一点。

Windows用户

您需要使用新生成的令牌来设置Credential Manager,而不是密钥链。

这里有一个关于Windows的快速视频

从GitHub获取一个访问令牌:

GitHub→设置→开发者设置→个人访问令牌→生成一个新的令牌

复制粘贴新的令牌到记事本。

打开Git Bash,输入以下命令:

git config --global credential.helper osxkeychain

git clone https://github.com/abc/angularProject.git

Username for 'https://github.com': Test

Password for 'https://test@github.com': (enter your token here)

对于想要使用Sourcetree的人:

在源路径上像这样复制:

https://<token>@github.com/<username>/<repo>

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个人访问令牌,而不是你的密码。