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


当前回答

最简单的解决方案(2022年5月):

在“个人访问令牌”中创建一个新令牌 复制令牌(Windows: Ctrl + C, macOS: Cmd + C,或单击复制图标) 尝试推送本地存储库:git push 输入您的GitHub用户名 将令牌粘贴为密码

其他回答

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

从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,它将允许您拉/推更改。

Mac用户——一个简单的解决方案。

在GitHub中设置个人访问令牌:

设置→开发者设置→个人访问令牌

打开钥匙串→输入“GitHub”

将密码更改为个人访问令牌。

尝试提交/推动。

选择“始终允许”,业务照常进行。

Android Studio Arctic Fox解决方案(Windows 10)

我在Android Studio Arctic Fox(最新版本)中使用个人访问令牌进行了身份验证,但我仍然在2021年8月14日得到了这个错误:

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

我在github.com上生成了一个新的访问令牌,从Android Studio中删除了我的GitHub帐户,并再次使用新的访问令牌添加帐户。但是,它仍然显示出同样的错误。

我在Stack Overflow上阅读了其他解决方案,下载了GitHub CLI,并在Windows命令提示符中成功添加了我的GitHub帐户和访问令牌,并尝试从Android Studio再次推送存储库,同样失败。

然后,在本文之后,我在命令行中执行了以下操作:

cd <project-directory>
git remote set-url origin https://<TOKEN>@github.com/<user_name>/<repo_name>.git

我从Android Studio再次推送,它终于工作了!

三个命令:

首先按照官方文档中的说明创建一个令牌:创建个人访问令牌

然后重置Git凭证

git config --global --unset credential.helper

克隆或拉出你的存储库:

`git pull` or `git clone`

然后输入令牌作为密码。

如果你想保存你的令牌,你可以使用:

git config --global credential.helper cache