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

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计划的一部分,很快将是永久的服务变化


当前回答

我今天下午遇到了这个问题,并通过将参考文献3中所述的GitHub密码替换为参考文献2中生成的令牌来解决这个问题。

参考文献1:参见API和Git操作的令牌身份验证要求。不再支持该密码。 参考文献2:因此,您应该在本教程中生成一个令牌,并使用它代替您的密码作为凭据。 参考资料3:如果没有提示您输入用户名和密码,则您的凭据可能缓存在您的计算机上。您可以在Keychain中更新凭据,用本教程中描述的令牌替换旧密码。

其他回答

如果你不想以纯文本形式存储你的令牌(通过修改远程回购的URL),你可以这样做:

通过遵循官方链接生成一个新的令牌 通过单击下面的按钮,确保复制了令牌。如果你双击文本并复制它,它会增加一个额外的空格,你会继续得到相同的错误(即使你不再使用你的密码,但令牌)

GitHub已禁用密码认证,且不再支持密码认证。创建并使用个人访问令牌(PAT)而不是密码。

以下步骤:

Remove GitHub stored credentials from the keychain. (For example, using "Keychain Access" on Mac, or "Credential Manager" on Windows) Generate access-token from GitHub Settings → Developer Settings → Personal access tokens → Generate new token Save the token - as it will be available there for once only Run command git fetch (or git push, if fetching doesn't require permissions) If on Windows, you must run this from PowerShell, not the command prompt (CMD). The command prompt consistently fails with the remote: Password authentication is temporarily disabled message, despite identical inputs. It will ask for your user name and password. If it does not ask you for your username and password, you must change your Git remote URL to contain your username: https://USERNAME@github.com/repo-owner/repo-name.git (see approach 2 for instructions on changing remote URL) Use the access token instead of the password when it asks for a password (you will have to enter it twice)

或者第二种方法:

从GitHub生成访问令牌: 设置→开发人员设置→个人访问令牌→生成新的令牌 在本地更新origin的URL: git remote set-url origin https://<token>@<git_url>.git 拉一次:git拉https://<token>@<git_url>.git

当我试图在Visual Studio Code中向上推时,我收到了这个错误…但是我打开了终端,用用户名和密码就没问题了。

也许你可以试试。

Ubuntu服务器和现有Git存储库的解决方案

删除密码:

git config --global --unset user.password;
git config --local --unset user.password;

改变remote.origin.url。用你的GitHub用户名替换<用户名>:

git config --global --replace-all remote.origin.url "https://<username>@github.com/PPEProjects/smile-eyes-be.git";
git config --local --replace-all remote.origin.url "https://<username>@github.com/PPEProjects/smile-eyes-be.git"

拉/ push

git pull
git push origin HEAD:develop

输入从个人访问令牌生成的个人访问令牌。

我试了所有的方法,最后都奏效了。由于这个错误,我无法在我的存储库中推送,所以请至少尝试一次!

_____________________________ 生成个人访问令牌:

点击这里并生成一个个人访问令牌。这太简单了。 https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token 现在只需在PAT的帮助下按一下,而不是密码和用户名___________________ 要将更改推送到存储库: git push https://[个人访问令牌]@github.com/[用户名]/[存储库名称].git