git 添加多个远程账号
git目前的产品很多,oschina的码云,GitHub,公司自己搭建的gitlab,但是在本地机上面无法一次性自动分发到各自的平台,主要还是SSH密钥问题,本次我是添加了两个github账号,一个是做项目用的,一个是自己的账户
- 生成密钥,注意命名文件记得修改,不要直接默认保存id_rsa
- 编写config文件,这里的config文件是每次提交的时候,类似做一个解析,跳转到对应的平台
- 测试是否联通,采用ssh -T 来测试
前期工作,设置账号
//注意这里设置的是全局账号和邮箱,也是主要为了方便起见
git config --golbal user.name 'fourous'
git config --golbal user.emil 'fourous@163.com'
//查看git项目配置这里可以看到自己的全局配置
git config --list
生成密钥
这里的生成ssh密钥,具体理论方面的解析看这里:
主要是有两套字符串,一个是公钥一个是私钥,私钥自己留存,公钥可以随便传播
ssh-keygen -t rsa -f ~/.ssh/id_rsa_x -C "fourousky@163.com". //一般都是保存在用户目录的.ssh文件夹下面,这里的id_rsa_x是为了和本来有的id_rsa文件作区分
touch config //编写config文件,指明路径
vim config
目前已经有两套ssh密钥了,如图
其中config文件主要是为了提交远程仓库的时候,ssh 做区分用的
# 第一个账号,默认使用的账号
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# 第二个账号
Host second.github.com # second为前缀名,可以任意设置
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_x
主要区分也是通过HOST区分的,所以在以后的提交和拉去过程中,要主要,如果用的第一个,都是正常pull和push,但是对于第二个,要改成自己设置的别名second.github.com
测试是否联通
这里测试之前要添加ssh文件以及清楚一下缓存
ssh-add -D
ssh-add id_rsa
ssh-add id_rsa_x
添加完了记得看看是否添加成功,这里我之前没有这一步,导致测试不联通
ssh-add -l
效果如图
测试工作
ssh -T git@github.com
ssh -T git@second.github.com
如果测试联通,会返回ok字眼
问题
如果测试时候发生error,或者time out,最好是重新生成一下密钥,然后清除一下缓存,最后再添加一下
连接GitHub直接在设置,add ssl 里面添加一下共钥,具体网上教程很多
连接