当我尝试使用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日周二到期。为什么今天这个被删除了?
一个命令简单的解决方案来解决它
如果你的计算机没有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
对于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。
应该就是这样了。享受吧!
Android Studio Arctic Fox解决方案(Windows 10)
我在Android Studio Arctic Fox(最新版本)中使用个人访问令牌进行了身份验证,但我仍然在2021年8月14日得到了这个错误:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
我在github.com上生成了一个新的访问令牌,从Android Studio中删除了我的GitHub帐户,并再次使用新的访问令牌添加帐户。但是,它仍然显示出同样的错误。
我在Stack Overflow上阅读了其他解决方案,下载了GitHub CLI,并在Windows命令提示符中成功添加了我的GitHub帐户和访问令牌,并尝试从Android Studio再次推送存储库,同样失败。
然后,在本文之后,我在命令行中执行了以下操作:
cd <project-directory>
git remote set-url origin https://<TOKEN>@github.com/<user_name>/<repo_name>.git
我从Android Studio再次推送,它终于工作了!