项目场景:
一段时间不用github,突然发现git bash同步不了本地项目到远程仓库了,报错:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
如图:
问题描述
原因分析:
原先的密码凭证从2021年8月13日开始就不能用了,必须使用个人访问令牌(personal access token),就是把你的密码替换成token!
解决方案:
提示:这里参考的具体解决方案:
第一步: setting
访问Github官网然后登录自己的Github账号。再右上角点击头像,在下拉菜单上找到 Setting这个选项,然后点击它。
如下图:
第二步:Dev Setting
然后再点击左侧栏的Developer settings选项。
第三步: Personal access tokens
点击左侧栏上的Personal access tokens选项,出现如下图所示:
然后,点击右上角的Generate new token按钮。
第四步: verified
验证信息。
第五步: set token
如下图所示,进入设置页面。
Note
验证token的标题(别名),你可以起一个好记的名称。
Expiration
验证token有效期限(必填项)。默认30天。
Select scopes
选择要授予此令牌token的范围或权限。 要使用token从命令行访问仓库,请选择repo。 要使用token从命令行删除仓库,请选择delete_repo。 其他根据需要进行勾选。
第六步: get token
最后,点击Generate token按钮。
如下图所示,生成令牌Token 成功。
需要注意的是,请复制下来保存好, 之后,因为你再次刷新网页的时候,你已经没有办法看到它了。
第七步: git bash
有两种方式。
之后用自己生成的token登录,把上面生成的token粘贴到输入密码的位置。
如果 push 等操作没有出现输入密码选项,请先输入如下命令,之后就可以看到输入密码选项了。
git config --system --unset credential.helper
把token直接添加远程仓库链接中,这样就可以避免同一个仓库每次提交代码都要输入token了:
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
<your_token>
:换成你自己得到的token
<USERNAME>
:是你自己github的用户名
<REPO>
:是你的仓库名称
第八步: login
第九步: errno 10054
git 执行git push 出现报错
fatal: unable to access ‘https://github.com/xxxx/xxxx.git/’: OpenSSL SSL_read: Connection was reset, errno 10054
$ git push -u origin master
fatal: unable to access: OpenSSL SSL_read: Connection was rese, errno 10054
执行
git config --global http.sslVerify false
再次 git push
即可
完美!