原因分析及解决办法:

由于Github不再支持使用账号密码进行https推送,可以采用 ssh 密钥的方式进行长期的推送

1.生成SSH key

ssh-keygen -t ed25519 -C "your_email@example.com"

这里的-t 表示要生成的密钥类型,这里生成的类型为ed25519,是一种椭圆曲线算法,比传统的RSA更加安全、密钥更短,并且速度更快

2.将 SSH key 添加到GitHub中

cat ~/.ssh/id_ed25519.pub

将输出的内容复制到Github -> Settings -> SSH and GPG keys -> New SSH key
如下图所示

在这里插入图片描述

自己起一个Title,密钥类型选择默认的Authentication key即可
然后点击 “Add SSH key” 即可

4.连接github

ssh -T git@github.com

如果显示

Hi username! You’ve successfully authenticated, but GitHub does not
provide shell access.

那么就说明SSH的配置正确,可以进行正常的git 操作了,这里的 username 显示为你的GitHub用户名

5.进行第一次推送

git push -u origin master

这时就会发现推送成功,不需要输入密码或者token了

这里的 -u 是 --set-upstream,将本地的master分支与远程仓库origin/master关联起来
以后只需要写git push或者git pull即可,不需要每次都写一长串了

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐