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


当前回答

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

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

其他回答

对于任何使用Sourcetree作为Git客户端的人,打开首选项→进入帐户选项卡→添加GitHub帐户→认证类型=基本→填写您的GitHub帐户和您创建的GitHub访问令牌作为密码→使用HTTPS协议→完成!

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

解决方案

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

对于使用Mac或Linux的用户,请通过Homebrew安装GH:

brew install gh

如果你已经安装并运行了gh auth login,仍然有这个问题,解决它的最简单的方法就是运行:

gh auth setup-git

你可以强制你的机器只使用SSH而不是HTTPS:

git config --global url."git@github.com:".insteadOf "https://github.com/"

三个命令:

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

然后重置Git凭证

git config --global --unset credential.helper

克隆或拉出你的存储库:

`git pull` or `git clone`

然后输入令牌作为密码。

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

git config --global credential.helper cache