您的位置:首页 > 其它

解决git push 需要输入帐号密码

2017-08-10 15:14 288 查看
用push命令会让你输入帐号密码,很麻烦。

查了一些文章后终于找到解决方法。

参考资料

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000

http://www.cnblogs.com/hanxi/archive/2012/07/31/2616628.html

首先,得创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C “youremail@example.com”

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

然后,登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。点完成,得到ssh。

打开repo目录下的.git/config,url是HTTPS形式。

[remote “origin”]

fetch = + refs/heads/:refs/remotes/origin/

url = https://username@github.com/username/projectname.git

因为远程版本库的url是HTTPS,所以问题就出在这了,每次都很不方便,都要输入用户名和密码。

为了使用SSH公钥的方式认证,把config的url改成下面这样

[remote “origin”]

fetch = + refs/heads/:refs/remotes/origin/

url = git@github.com:username/projectname.git

这样,push时候就不用写帐号密码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: