在使用Git的过程中,我们常常面临着在同一个代码管理平台注册多个账号来区别工作项目与自己的项目,但是由于Git的限制,一个ssh key是不能同时添加进一个服务器的,为了解决这一问题,我们需要做的就是利用多ssh key来管理不同的项目。
一.创建新的ssh key
首先默认已经安装完成Git并且创建了一个ssh key,接下来需要创立新的ssh key。 打开 Git Bash,输入
cd ~/.sshssh-keygen复制代码
在出现Enter file in which to save the key 之后输入key的名称,例如id_rsa_work。 不要使用默认名称,以便与之前的key区分。接着一直默认即可。
二.创建并编辑config文件
在Git Bash中输入
vim ~/.ssh/config复制代码
打开vim编辑界面,然后按i键即可编辑,编辑内容如下
Host hostone HostName github.com User git IdentityFile ~/.ssh/id_rsa_aHost hosttwo HostName github.com User git IdentityFile ~/.ssh/id_rsa_b复制代码
其中Host为别名,可以自己随意取。HostName为服务器的域名,例如github.com,code.aliyun.com等。User 为用户名,目前看没有什么影响,可以随意取。最后IdentityFile为ssh 公钥的地址。
三.更改远程分支的地址
举一个例子
git@code.aliyun.com:12345/abcde.git复制代码
这是一个远程仓库的ssh 地址,它的组成是这样
Host:账户/项目复制代码
所以在我们配置完成config后,远程仓库的地址也会有变化,假设我们使用config中的第二个sshkey,那么远程分支的地址就会改为
hosttwo:12345/abcde.git复制代码
当我们完成对远程分支的更改之后,就可以正常的进行push与pull操作了