无论使用一个git服务器,还是多个,只要涉及到多个账户,都可以使用这个方法来解决。
方法的本质是使用ssh生产密钥文件,然后将对应的公钥内容放到git服务器上,通过密钥文件进行验证。
网上搜到的方法其实都是可以用的,只是有几个坑,不然你搜了一圈会说,这TM根本不能用,windows哪里来的 ~/.ssh 文件夹等等问题。那么下面就介绍我碰到的几个坑,可能也是我才刚刚接触,不熟悉的原因,如果大家都知道,就当我自己记录了:
坑一:
下面两个坑可能只有我自己碰到,但这个坑我想很多人可能会碰到的。
没有 ~/.ssh ,linux 上可以访问 ~/.ssh ,windows上也可以在git bash里使用 cd ~/.ssh ,位置是在 C:\Users\Administrator\.ssh ,而你提示找不到文件夹的原因就是这里没有这个文件夹,是真的没有,那么很简单,创建一个新的就OK了
cd ~
mkdir .ssh
坑二:
.ssh/config 的配置 IdentityFile windows下既然在git bash可以访问到,那么这里也可以按照别人方法上写的 ~/.ssh/xxx_ras 的方式,我自作聪明用 ./xxx_rsa 的方式失败了,因为实际使用的位置是项目所在的路径,这样设置就是到项目文件夹下找了。 ----这个问题可能就只有我自己碰到
坑三:
配置项目的remote参数时,git@Host:xxxx, :xxxx这个一定要有,按照百度上的说明,这里 git@Host:user,很有可能在冒号后面加上你自己的用户名,实际上这里是根据你的仓库地址来的,例如:
Host hwGitee.com
HostName gitee.com
User jmyyhw
url: https://gitee.com/jmyyhw/xxxxx.git 配置为:git@hwGitee.com:jmyyhw/xxxxx.git
在比如:
Host cyGitee.com
HostName gitee.com
User hbcywlkj
url: https://gitee.com/hbcywlkj_admin/xxxxx.git 配置为:git@cyGitee.com:hbcywlkj_admin/xxxxx.git
解决git多账户的具体方法可以参看此链接: https://www.jianshu.com/p/a3b4f61d4747