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


当前回答

对于Linux,这些简单的步骤可以解决您的问题

如果Git密码缓存在凭据中。Helper,然后取消设置: Git config——local——unset credentials .helper 或者,如果你已经全局设置了你的凭证,那么: Git config——global——unset credentials .helper 现在转到你的GitHub帐户设置 点击开发者设置 选择个人访问 使用给定的权限生成一个令牌,例如, 现在将git拉入git存储库 提供用户名和生成的令牌作为密码

这是一个循序渐进的简单解决方案。

PS:如果Git一遍又一遍地要求你输入用户名/令牌,这让你很恼火,请遵循以下三个简单的步骤

执行命令nano ~/.git-credentials。删除GitHub行并保存它。 Git配置——全局凭据。辅助存储 在物理上,令牌保存在文件~/.git-credentials中是有风险的 运行git pull并只提供一次用户名和密码

现在,它不会一遍又一遍地询问用户名和访问令牌!

其他回答

使用我的账户→设置→开发人员设置→个人访问令牌→生成新的令牌。

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

我以前在Linux上使用git拉密码。

如果是这种情况,您唯一需要做的就是使用令牌来代替密码。

通过转到个人访问令牌生成一个访问令牌。

这里有一个git拉的例子

git pull

Username for 'https://github.com': gitusername
Password for 'https://yourusername@github.com': //Then enter generated token

对于Linux,这些简单的步骤可以解决您的问题

如果Git密码缓存在凭据中。Helper,然后取消设置: Git config——local——unset credentials .helper 或者,如果你已经全局设置了你的凭证,那么: Git config——global——unset credentials .helper 现在转到你的GitHub帐户设置 点击开发者设置 选择个人访问 使用给定的权限生成一个令牌,例如, 现在将git拉入git存储库 提供用户名和生成的令牌作为密码

这是一个循序渐进的简单解决方案。

PS:如果Git一遍又一遍地要求你输入用户名/令牌,这让你很恼火,请遵循以下三个简单的步骤

执行命令nano ~/.git-credentials。删除GitHub行并保存它。 Git配置——全局凭据。辅助存储 在物理上,令牌保存在文件~/.git-credentials中是有风险的 运行git pull并只提供一次用户名和密码

现在,它不会一遍又一遍地询问用户名和访问令牌!

对于想要使用Sourcetree的人:

在源路径上像这样复制:

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

Mac用户

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

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

Windows用户

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

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