我使用用户名密码来推送我的代码。它工作了几个月,但突然我不能这样做,并得到这个错误:
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计划的一部分,很快将是永久的服务变化
这里有一个简单的解决方案:
进入GitHub→设置→开发者设置→个人访问令牌。重新生成令牌并复制它。
在任何本地存储库上,当git推送时,输入您的用户名,密码是生成的令牌
无需为每个HTTPS Git操作手动输入令牌,您可以使用Git客户端缓存令牌。
在终端中输入如下命令:
# Set Git to use the credential memory cache
git config --global credential.helper cache
输入如下命令修改默认密码缓存超时时间。
# Set the cache to timeout after 1 hour (setting is in seconds)
git config --global credential.helper 'cache --timeout=3600'
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
输入从个人访问令牌生成的个人访问令牌。