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


当前回答

首先在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。

其他回答

生成一个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>.git/

使用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(获取/推/拉等)

对于想要使用Sourcetree的人:

在源路径上像这样复制:

https://<token>@github.com/<username>/<repo>

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

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