平常我们可能用到最多的还是单账户配置,在公司里也是用的同一套账号,不同的项目。
但是往往我们会有另外一种情况,除了公司的账号,还希望拥有自己的一套代码,这时候就需要两个账号了,一分账号专供公司使用,一份账号作为个人使用。
Window版本,确保本地已安装好git
一、分别配置两个账户的SSH KEY
两个文件分别配置不同的文件名,可不配密码
①$ ssh-keygen -t rsa -C "test1@qq.com"
配置文件名 id_rsa
②$ ssh-keygen -t rsa -C "test2@qq.com"
配置文件名id_dsa
上图,id_rsa和id_dsa对应的公私钥文件才是有效的
二、部署SSH KEY
登录Github(test2@qq.com), 进入Settings->SSH and GPG keys -> New SSH key
Title随意填,
使用文本编辑器编辑id_dsa.pub , 复制文本内容到Key中
如图
三、测试使用的SSH KEY是否可行
$ ssh -v git@github.com
①打印出的消息如果以此结尾,代表SSH KEY可行
②如果报错 Permission denied (publickey). 查看日志
发现在获取私钥的时候尝试获取id_rsa,id_dsa等命名的文件,在之前的生成文件中,存在一个id_rsa_personal命名的文件,此文件会报 Permission denied (publickey)的错,所以根据提示重新生成了id_dsa命名的文件,问题解决。
四、clone不同的仓库到本地,设置局部用户邮箱
$ git clone git@github.com:test1/CloudDemo.git
$ git config user.name test1
$ git config user.email "test1.qq.com"
$ git clone git@github.com:test2/CloudDemo.git
$ git config user.name test2
$ git config user.email "test2.qq.com"
五、查看个人配置SSHKEY变绿,表明SSHKEY账户配置已生效
六、其他处理
如果存在多个github账户,通过设置config文件,设置别名,指定私钥公钥
config文件在.ssh目录下,如果不存在新建即可
# 2374433(2374433@qq.com)
Host one.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile D:\\.ssh\\one
User one
设置完成之后,克隆仓库代码还需用别名 eg: git clone git@one.github.com:one/config-repo.git