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


当前回答

如果您想第一次克隆:

git clone https://<repository_owner>:<personal_access_token>@github.com/<repository_owner>/<repo>.git

其他回答

如果你使用的是macOS,只需简单地遵循以下步骤:

转到此链接:https://github.com/settings/tokens(配置文件->设置->开发人员设置->个人访问令牌)。(不要去仓库设置;这是你的个人资料设置) 生成一个新的令牌并将其复制粘贴到某个安全的地方。 现在在你的Mac电脑上搜索一个名为Keychain Access的应用程序。 搜索github.com(如果有多个GitHub登录,然后选择Kind: Internet password),双击它。 点击显示密码,然后输入你的Mac密码并按enter键。 密码现在应该可见了。现在,只需粘贴在第2步中生成的令牌,然后单击Save changes。

就是这样。享受吧!

如果你使用的是Windows:

按照上面的步骤1和2执行。 在Windows操作系统中搜索一个名为Credential Manager→Windows Credentials的应用程序。 搜索github.com,用你在GitHub上生成的令牌编辑密码。 现在享受!

开发者破解(短代码):

git remote set-url origin https://<githubtoken>@github.com/<username>/<repositoryname>.git

而克隆:

git clone https://<username>:<githubtoken>@github.com/<username>/<repositoryname>.git

它可以在任何操作系统(Mac, Windows或Linux)上工作。

缺点:您必须记住或应该需要对本地的每个存储库进行操作。所以我希望每个人都使用上面提到的步骤。

注意:

对于那些没有这个条目的人:它可以。一种方法是——克隆一个项目。然后它会询问你的用户名和密码。而不是密码给它的令牌,然后进入将作出。

如果您想第一次克隆:

git clone https://<repository_owner>:<personal_access_token>@github.com/<repository_owner>/<repo>.git

Mac用户

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

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

Windows用户

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

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

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

只需遵循创建令牌。

对于macOS用户,只需简单地遵循以下步骤:

(我从Kartik Tyagi那里截取了这部分,但我补充了一个被遗漏的关键部分。)

转到此链接:https://github.com/settings/tokens(配置文件->设置->开发人员设置->个人访问令牌)。(不要去仓库设置;这是你的个人资料设置) 生成一个新的令牌并将其复制粘贴到某个安全的地方。 现在在你的Mac电脑上搜索一个名为Keychain Access的应用程序。 搜索github.com。

如果不存在:

5.1. 点击“创建一个新的钥匙链项目”按钮(记事本笔图标)。

Keychain项目名称:https://github.com

帐户名:https://github.com(必须这样保存。不要添加www。它将无法正常工作)

密码:粘贴您生成的令牌

如果存在:

5.2. 如果有多个GitHub登录,然后选择Kind: Internet password,双击它。

点击显示密码,然后输入你的Mac密码并按enter键。 密码现在应该可见了。现在,只需粘贴在第2步中生成的令牌,然后单击Save changes。

应该就是这样了。享受吧!