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


当前回答

对于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。

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

其他回答

一个命令简单的解决方案来解决它

如果你的计算机没有SSH密钥添加到GitHub帐户,我会在回答的最后添加信息让你这样做。你应该先做。

推送失败后,执行以下操作:

git remote set-url origin git@github.com:{user_id}/{project_name}.git

再推一下。这样就有用了。

让我在下面展示我的案例。 (我会指导你如何做你的案子。)

首先,当我添加、提交和推送时,我遇到了这个问题:

然后,我当前的Git日志如下。

最后,这是我解决问题的方法。

就我而言,

{project_name} <-> open-idea-pool . {project_name} <-> open-idea-pool . {user_id} <-> milochen0418是 {branch_name} <-> master . {branch_name

(你的branch_name可能是main,但不是master)

当我推失败时,我唯一需要的是这一个命令:

git remote set-url origin git@github.com:{user_id}/{project_name}.git

然后我再按一下:

git push -u origin {branch_name}

以我的案例为例,

git remote set-url origin git@github.com:milochen0418/open-idea-pool.git
git push -u origin master

它的工作原理。

-- 顺便说一下,这是创建一个SSH密钥到GitHub帐户的过程。

您可以参考这两个链接来进行操作。这里的信息支持Mac、Windows和Linux。

关于添加SSH密钥到GitHub的问题 添加一个新的SSH密钥到您的GitHub帐户

此外,如果你想克隆一个新项目,你可以执行以下命令:

git clone git@github.com:{user_id}/{project_name}.git

首先在GitHub上创建令牌:

点击个人资料图片,在菜单中选择设置 在底部左侧菜单中选择“开发人员设置” 在左侧菜单中选择个人访问令牌(第三个选项) 选择Generate new token并执行以下步骤。

如果你没有安装GitHub CLI,你不会在你的钥匙链访问中找到它。因此,您应该首先安装它。

为macOS安装GitHub CLI Brew install gh Windows: Winget安装gh 铲斗安装gh 巧克力安装gh 在命令行中输入gh auth login,根据提示输入以下答案 ? 您想登录哪个账户?GitHub.com ? Git操作的首选协议是什么?HTTPS ? 用你的GitHub凭证验证Git ?是的 ? 您想如何验证GitHub CLI?粘贴身份验证令牌 粘贴您在GitHub上创建的令牌并按Enter。

在获得令牌密钥后,您可以跳过所有步骤并执行以下操作:

git clone https://your_username:your_github_token@github.com/username/private-repo.git

到目前为止,我找到的最佳解决方案是:

安装GitHub CLI, brew Install gh或查看其他操作系统如何安装 在终端中输入gh auth login 这样做: 您想登录哪个账户? 选择GitHub.com Git操作的首选协议是什么? 选择HTTPS 用你的GitHub凭证验证Git ? 选择是的 您想如何验证GitHub CLI? 选择“使用web浏览器登录” (复制一次性代码粘贴到浏览器) 按“Enter”在浏览器中打开github.com

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

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

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

窗户

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

MAC

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