当我尝试使用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密钥的身份验证

Windows教程:SSH密钥验证 Linux/Mac教程:SSH基于密钥的身份验证 文档

然后

生成个人令牌 设置你的用户名:git config——global user.name "userName" 设置您的电子邮件地址:git config—global user。电子邮件“电子邮件” Git配置——全局凭据。辅助缓存 Git push/ Git pull之类的用户名和密码(个人token)


你可以跟随这个视频:使用Git和GitHub的个人访问令牌

其他回答

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再次推送,它终于工作了!

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

从GitHub获取一个访问令牌:

GitHub→设置→开发者设置→个人访问令牌→生成一个新的令牌

复制粘贴新的令牌到记事本。

打开Git Bash,输入以下命令:

git config --global credential.helper osxkeychain

git clone https://github.com/abc/angularProject.git

Username for 'https://github.com': Test

Password for 'https://test@github.com': (enter your token here)

使用SSH(忘记https)(例如,不要使用https url进行克隆) 使用个人访问令牌(PAT)(忘记用户名/密码)

(例如,设置>开发人员设置>个人访问令牌)

更新git到最新版本(例如2.35.1)//我认为这很重要 在Github中,取消勾选设置>开发人员设置>保持我的电子邮件地址私密性

结论:您在Github中添加了个人访问令牌。然后从任何IDE(例如,Android Studio, IntelliJ IDEA等),您可以使用ssh添加远程(例如,名称:origin, URL: git@github.com:your_github_username/your_git_repo.git)。就是这样

如果还没有,

配置git全局用户名和邮箱 Git配置——global user.name "your_username" && Git配置——全局用户。电子邮件“your_email”

如果在windows,您可以为您的用户添加windows凭据,控制面板>用户>管理您的凭据> windows凭据>添加通用凭据>

互联网地址将是git:https://github.com,你需要输入 在你的用户名和密码将是你的GitHub个人访问 Token =>单击Ok,就完成了

在这之后,我能够使用git(获取/推/拉等)

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

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