如何簡單快速地在電腦上關聯多個git或者gitlab賬號

echoLC發表於2017-07-21

剛到新公司,公司擁有自己的gitlab伺服器,在配置完公司發的gitlab賬號後,發現原本電腦上關聯的github被新生成key覆蓋而不能提交程式碼,也就是push衝突了。於是花了點時間研究了下在同一電腦上同時配置自己的git賬號和公司的gitlab賬號。

我們知道git關聯遠端庫是根據電腦上生成的key即./ssh檔案下的id_rsa_pub和git bush配置的email。

1.配置郵箱和使用者名稱

# 全域性配置,Github倉庫中預設使用此配置
git config --global user.name `echoLC` && git config --global user.email `echoLC@gmail.com` 

# 公司的gilab配置,每次有新的gitlab需要新增,執行下如下命令
git config --local user.name `lc` && git config --local user.email `lc@xx.gitlab.com`

2. 生成 ssh key 上傳到 Github/Gitlab

# 生成公鑰、金鑰的同時指定檔名,Gitlab使用
ssh-keygen -t rsa -f ~/.ssh/id_rsa.xx.gitlab -C 
"lc@corp.gitlab.com"

# 生成預設,Github使用
ssh-keygen -t rsa -C "echoLC@gmail.com"

執行完命令後.ssh目錄下會除了生成id_rsa和id_rsa.pub,還會多出 id_rsa.xx.gitlab和id_rsa.xx.gitlab.pub,這是放到gitlab上的key。

3.配置 config 檔案

在 ~/.ssh目錄下,如果不存在,則新建 touch ~/.ssh/config檔案 ,檔案內容新增如下:

Host *.gitlab.com
     IdentityFile ~/.ssh/id_rsa.xx.gitlab.pub
     User echoLC

配置完成後把key分別上傳到github和gitlab上就ok了。

驗證是否配置成功

由於每個託管商的倉庫都有唯一的字尾,比如 Github的是 git@github.com:*,所以可以這樣測試:

ssh -T git@github.com
Hi echoLC! You`ve successfully authenticated, but GitHub does not provide shell access.

ssh -T git@gitlab.dev
Welcome to GitLab, lc!

看到上面的Welcome資訊說明配置是Ok的。

相關文章