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


当前回答

我是一个Sourcetree用户,并通过“刷新OAuth令牌”在菜单工具→选项→身份验证→选择GitHub帐户来修复它。

如果你从未为你的GitHub帐户添加身份验证,你可以参考如何连接GitHub与SourceTree(方法1:通过OAuth连接远程帐户)。

其他回答

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

解决方案

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

最近GitHub更新了他们的远程:支持密码认证。它于2021年8月13日被删除,以使用PAT(个人访问令牌)来访问GitHub API。

你可以在这里的博客文章中阅读。

现在启用PAT

登录你的GitHub账户。 按照这篇文章进行下一步操作。

现在要在命令行上使用令牌,执行以下操作:

git clone https://github.com/username/repo.git

Username: your_username
Password: your_token

请注意,您的令牌有一个过期时间,必须私下保存,并在需要在命令行上进行身份验证时使用。

小心

如果你克隆到一个存储库,该存储库属于:

组织。

确保你是那个组织的成员

或者是一些个人存储库,

请确保已启用以下功能

组织/个人需要启用远程克隆和分叉,如下所示:

进入组织设置:

启用成员特权:

生成一个GitHub个人访问令牌(PAT)

登录你的GitHub账户,打开设置→开发者设置 个人访问令牌。 单击Generate New Token。

不要忘记复制和代币后生成。它只能访问一次。

窗户

打开控制面板→用户帐户→凭证管理器。 现在,查找git:https://github.com。 点击编辑。 将密码替换为GitHub个人访问令牌。

MAC

点击聚光灯图标,搜索钥匙链访问。 在钥匙串访问,搜索github.com。 现在,寻找github.com的互联网密码条目。 更新条目。

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

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

对于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并只提供一次用户名和密码

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