git 多賬戶問題
標簽(空格分隔):git github gitlab git多賬戶
- 背景
- git 多賬號配置
- ssh 多密鑰對配置
背景
在使用 git 的時候我們都會面臨多賬戶問題,比較常見的就是公司內部的 gitlab,開源平臺 github ,我們都需要在一臺電腦上同時使用,這需要解決兩個問題。
git 多賬號配置
git config --global user.name 設置全局用戶名
git config --global user.email 設計全局郵箱
git config --global 設置默認會作用所有的 git repository ,當我們分別 git clone 了 gitlab 、github 的 repository 時,需要分別為每個 git clone 下來的 repository 設置當前倉庫的 user.name 、user.email 。
這個問題請參見本人的 git 系列文章 -> 聊下 git 使用前的注意事項
ssh 多密鑰對配置
我們都知道 git 是基于 ssh 協議,git 通過 ssh agent 建立與遠程鏈接和驗證。
ssh 通過 rsa 私鑰進行加密傳輸到 git server ,git server 再通過查找對應的 rsa pub key 進行解密,以驗證是否當前提交過來的合法信息。
我們通過 ssh-keygen 分別創建不同的 rsa 密鑰對,如果你沒有特殊處理過公司內部私有的密鑰對一般都是默認的名稱 id_rsa、id_rsa.pub 。
如果我們是第一次創建 git 賬號,第一次可以純粹默認的創建過程
ssh-keygen -t rsa
一路 enter 回車,然后配置好公司內部的 gitlab ,正常提交。
然后再通過 ssh-keygen 創建的時候另起一個名字,比如 github 、github.pub 一對,這和創建默認的 id 、id.pub 沒什么區別。
然后通過 ssh-add 將新創建的 github 專用密鑰添加進 ssh-agent cache 中。
ssh-add ~/.ssh/github
然后查看 ssh agent 密鑰 cache 列表。
ssh-add -l
再將 github.pub 公鑰配置到我們的 github 的賬號中就可以了。
然后就能正常使用gitlab、github 了。如果你不放心怕兩個key 混淆了,你可以將其中一個key從ssh agent 中移除。
ssh-add -d ~/.ssh/github
然后在試著git push 代碼,如果不錯說明就正確了。
謝謝。
文章列表