平时使用git上传代码到GitHub的时候,每次上传都要输入用户名和密码,感觉有点烦,今天去上网查了一下原因,并自己修改成功,不再需要输入用户名和密码也能上传代码。
首先要知道,为什么会出现每次上传代码都要输入用户名和密码呢?
**原因在于:**在clone 项目的时候,使用了 HTTPS方式,而不是ssh方式。
因为默认clone 方式就是HTTPS方式,所以你点击“Clone or download”时首先出现的会是HTTPS方式,
如图1
点击图1右上角,切换到SSH方式,复制下来,下面要用,如图2
在git上输入 git remote -v 查看clone的地址
如图3
可以看出,目前使用的是HTTPS方式
原因知道了,下面是解决方法
(1) 使用 git remote rm origin
命令移除HTTPS的方式,
(2) 使用命令 git remote add origin git地址
(git地址是上面复制的内容),新添加上SSH方式
(3) 还是使用 git remote -v
命令,再次查看clone的地址,会发现git使用的方式变成了SSH方式,如图4
(4) 还没完,如果现在就去push的话,它会出现如图5所示警告
(5) 先使用 ssh -T git@github.com
测试一下,会有图6所示结果
可以明显地看出,是因为还没有设置公钥
(6) 使用 ssh-keygen -t rsa -C "kivet-h"
命令生成公钥,“kivet-h”是我的GitHub用户名,每个人的都不一样,如图7
出现下面的红框内容表示生成成功
(7) 使用 cat /c/Users/kivet/.ssh/id_rsa.pub
命令查看key,如图8,并复制下来,
注意:cat后面的文件路径是(6)步骤生成的保存公钥的路径,每个人的保存路径不一样
(8) 进入GitHub,直接按照下面图片步骤做,
(9)
(10)
(11)
(12)点击“Add SSH key”后,会提示输入自己的密码,输入点确定后就行了
(13) 现在去使用git想GitHub上传代码,就不会再提示你输入用户名和密码了,