【Git】使用SSH多代码库共存
背景:
帮朋友最近在做一些私活,都是用阿里云托管代码,两套代码用同一个codeup管理,没法同时管理,在网上找了各种方法尝试好几次终于解决。
基本步骤:
1. 通过命令行定位到目录:~/ssh/
2. 执行以下命令,生成公钥和私钥对1和2:
ssh-keygen -t rsa -C "git@baidu.com" ssh-keygen -t rsa -C "git@taobao.com"
#生成过程中一直回车即可
#文件列表如下:
-rw-r--r-- 1 garinzhang staff 413 Feb 1 19:14 known_hosts
-rw-r--r-- 1 garinzhang staff 293 Feb 1 19:13 config
-rw-r--r-- 1 garinzhang staff 581 Feb 1 19:09 id_rsa_baidu.pub
-rw------- 1 garinzhang staff 2610 Feb 1 19:09 id_rsa_baidu
-rw-r--r-- 1 garinzhang staff 580 Feb 1 19:09 id_rsa_taobao.pub
-rw------- 1 garinzhang staff 2610 Feb 1 19:09 id_rsa_taobao
3. 找到生成的.pub文件,将pub文件里面的内容全部拷贝到对应的codeup或者gitlab的后台配置里面
4. 新建config文件:生成文件目录结构,~/.ssh/config
# 代码库1
#这个域名是后面会用到的,比如baidu.com Host baidu.com
#(真正代码库的地址) HostName codeup.aliyun.com User git PreferredAuthentications publickey
#(对应的私钥文件) IdentityFile ~/.ssh/id_rsa_baidu # 代码库2
#(一定要跟上面的不一样,比如taobao.com)
Host taobao.com
#(这里跟上面的地址是一样的)
HostName codeup.aliyun.com User git PreferredAuthentications publickey
# (对应的私钥文件)
IdentityFile ~/.ssh/id_rsa_taobao
5. 此时已经全部配置好了,可以进行测试验证:
garinzhangdeMacBook-Pro:.ssh garinzhang$ ssh -T git@baidu.com (@后面是在config里面配置的host) Welcome to CodeUP, ***! garinzhangdeMacBook-Pro:.ssh garinzhang$ ssh -T git@taobao.com Welcome to CodeUP, ***!
6. 配置完成之后,就可以clone代码了
注意红色部分一定是config里配置的域名,否则就无法正确区分不同的codeup代码仓库:
git clone git@baidu.com:456445458570390004265b52c5341/apolo.git git clone git@taobao.com:456445458570390004265b52c5341/romio.git
路慢慢其休远羲,吾将上下而求所