今天在测试git使用的过程中发现在每次执行git push命令的时候总是提示输入用户名密码,这个挺浪费时间的,不可能在开发的过程中总是频繁的输入用户名和密码吧。为了在开发的过程中把大部分精力与时间放在业务逻辑上来,所以打算寻找一下是否有git push操作免密的方式。
通过网络一番查找,发现对于git的不同访问方式有不同的免密方式,下面一一介绍使用方法:
一).HTTPS方式
1.首先设置环境变量%HOME%[这个也可以不设置,默认是当前用户的用户目录],设置成自己需要配置git配置文件的地方(这里配置环境变量主要是为了方便管理),注意:当设置了%HOME%环境变量后,git bash所有的操作产生的文件都会被放置在这个目录下(猜测)。接下来在当前目录下新建一个名为"_netrc"的文件,文件内容如下:
machine {git account name}.github.com
login your-usernmae
password your-password
如果是github网站建立的远程服务器,那么这里的machine就写为:https://github.com,如果是自己搭建的git服务器,那么这里就写为相应的git服务器地址
login即为git用户名;password即为git密码
上面的设置通过测试可行
二).SSH方式
这个方式没有亲自测试,所以先把网上的方式粘贴复制,希望网友给以验证:
首先使用ssh-keygen生成sshkey,相关命令如下:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" -f "d:\id_rsa"
xxxxx@xxxxx.com是个人邮箱
d:\id_rsa 是生成的sshkey文件
后面的操作,一路回车最后生成两个文件id_rsa和id_rsa.pub,把这两个文件放到.ssh文件夹下,windows中.ssh文件夹一般在系统盘的用户下(c:\users\如果想项目第一种方式设置了%HOME%的话,将.ssh放入相应目录下)
将公钥id_rsa.pub中的内容添加到git服务器的ssh公钥中,具体设置请自行网查。