现在coding的工作从svn转到git上,在连接git服务器(github\gitlib\自己搭建的git服务器)时我们需要配置远程连接,git的连接协议:ssh或https。下面讲解ssh和https的方式:
主要是以github举例,其他git服务器连接类似。
ssh和https 都可以clone 到本地,https方式clone项目后每次fetch\pull\push都必须输入用户名和密码(不用输入用户名密码的方式下面有介绍,不推荐),操作比较不便。在使用ssh方式clone到本地的时候,首先要配置ssh(配置的方法下面详细介绍)一次配置后fetch\pull\push等远程操作都不需要再次输入用户名和密码,ssh方式你必须是项目的拥有着或者有着完全的操作权限。
(1)ssh配置方法:
1:生成秘钥:ssh-keygen -t rsa -C "你自己的邮箱"
(这里不要设置密码,直接按回车就可以,以后更新就不需要密码)
2:windows系统在目录C:\Users\用户名\.ssh 下找到你的秘钥
id_rsa 这个文件是你的私钥、id_rsa.pub是你的公共必要,用记事本打开文件id_rsa.pub,把里面的内容复制到github配置ssh.
3:添加私秘钥到ssh: ssh-add id_rsa(如果添加失败可以先执行命令ssh-agent bash,然后再次添加私秘钥。)
4: 用ssh -T git@github.com 判断是否绑定成功。如果返回successfully 表示已经配置成功。
以上四步完成SSH配置。
(2) https 不需要每次都输入用户名密码的配制方法:
打开系统环境变量配置增加Home = %USERPROFILE%环境变量配置,在%USERPROFILE%目录下新建文件_netrc,用记事本工具打开文件,写入配置:
machine 连接地址
login 用户名
password 密码
完成以上配置就可以不用每次输入用户名和密码了。
但是由于这些都是明文的,所以不安全,建议使用ssh进行远程库访问。
(3)https 转成 ssh 访问的方法:
1、git remote remove origin
2、git remote add origin git@github.com:用户名/你项目仓库.git (在你的github上复制地址就可以)
3、设置pull的远程分支:git branch --set-upstream-to=origin/master master