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 里面添加一下共鑰,具體網上教程很多
連接