赞
踩
8月13号开始,github已经不支持使用用户名和密码来完成推送代码的鉴权了。理由是不安全。
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
官方给出了替代方案。不是可选,是必须使用的,无语。
大致意思是,不能使用用户密码。需要使用 personal access token
。这个token在github上进行创建,创建了以后,使用这个来替代密码。在https://github.com/settings/tokens 页面的 Personal access tokens
页面选择Generate new token
来生成token。
输入密码的时候输入这个token替代密码。在此之前,选择凭证存储方式,可以在一次鉴权后,避免后续的密码输入。因此可以达到和ssh一样的效果。
凭证管理说明文档:
https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git
安装 Git-Credential-Manager-Core。
$ yay -S git-credential-manager-core
https://github.com/microsoft/Git-Credential-Manager-Core/blob/main/docs/linuxcredstores.md
选择一种凭证存储方式。本地文件存储。
$ git config --global credential.credentialStore plaintext
后面只要输入一次token,则会记录到凭证,后续鉴权会使用凭证,因此不需要输入密码。
注意,首次认证的时候如果选择Web browser
认证,会打不开浏览器,无法进行认证。网上说法是因为墙的原因,不过我都开代理了仍然不行,不过后续应该会解决这个问题。
本机的其它仓库HTTPS推送代码,直接推送成功了,跳过了鉴权步骤。
注意:
如果出现下面的错误:
则在github上的https://github.com/settings/keys 页面生成gpg密钥。教程。
如果觉得HTTPS麻烦的话,就使用SSH。
新版的gh cli,不知道怎么使用。习惯用原来的命令。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。