我使用用户名密码来推送我的代码。它工作了几个月,但突然我不能这样做,并得到这个错误:

Username for 'https://github.com': shreyas-jadhav
Password for 'https://shreyas-jadhav@github.com':
remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.
remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information.

请注意,这个链接没有任何帮助。即使使用生成的令牌也无济于事。

主持人注:这是GitHub计划的一部分,很快将是永久的服务变化


当前回答

还有一个非常简洁的脚本,有助于将HTTPS克隆的Git存储库转换为ssh协议,而无需删除和克隆Git存储库:

将HTTPS GitHub克隆转换为使用SSH

其他回答

如果你用的是macOS

首先请删除密钥链中的所有GitHub凭证,然后请生成您的令牌作为您的密码(由于GitHub安全策略):GitHub*→设置→开发者设置→个人访问令牌。 尝试将一些最新的内容推入或拉出存储库。然后Git会询问您的用户名和密码。输入您的用户名和从GitHub生成的令牌。

你所要做的就是使用一个生成的令牌而不是传统的密码:

使用密码的旧方法:

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

Username: your_username
Password: your_password

使用令牌的新方法:

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

Username: your_username
Password: your_token

步骤1:从GitHub生成API令牌

阅读本文档创建个人访问令牌:配置双因素身份验证

步骤2:用新生成的令牌替换之前缓存的密码

正如这里回答的,你必须修改你的本地GitHub登录凭证缓存在你的电脑: 从Git中删除凭证

macOS解决方案

我只是按照下面的说明,这就解决了我的问题。

为GitHub生成一个个人访问令牌。生成令牌的过程 打开您的钥匙串访问。 搜索github.com,双击它。 用最近生成的密钥更新密码。

注意:我不确定这是否适用于其他操作系统用户。

下面的步骤对我来说非常有效

以下步骤:

从GitHub生成一个访问令牌,设置→开发者设置→个人访问令牌→生成新的令牌 保存令牌-因为它只在那里可用一次 在系统中搜索。git-credential文件 在该文件中,在用户名之后使用访问令牌而不是密码。

GitHub正在取消用户名密码认证

其他人提到的另一种方法:

您可以安装和配置GitHub CLI。使用OAuth进行设置要好得多。不需要手动从密钥链中删除凭据。

在macOS上使用Homebrew (brew),安装甚至更简单:

执行命令brew install gh,执行如下命令:

您想登录哪个账户?GitHub.com,选择GitHub Git操作的首选协议是什么?选择HTTPS 用你的GitHub凭证验证Git ?选择是的 您想如何验证GitHub CLI?选择“使用web浏览器登录” 复制终端-> B7C1-8E67中显示的代码 按Enter键在浏览器中打开github.com 使用浏览器验证身份

完成了。

开始像往常一样使用Git命令。