有時候我們可能需要在一太電腦上使用多個Git賬戶的情況,這時候我們就需要針對多個平臺和賬戶進行不同的設定。
思路
同時管理多個SSH key。
解決方案
生成多個SSH key
這裡使用one two兩個賬戶進行舉例
注意在生成多個SSH key的時候一定要在~/.ssh目錄下進行,否則生成的SSHkey不會再~/.ssh目錄下。
以下有操作都是在~/.ssh目錄下進行的。
在生成之前儘量刪除此目錄下的所有檔案再進行,以免出現不必要的問題。
ssh-keygen -t rsa -C "one@email.com"
複製程式碼
ssh-keygen -t rsa -C "two@email.com"
複製程式碼
再輸入命令列的時候在第一次提示Enter file in which to save the key
的時候對ssh檔案進行重新命名(id_rsa_one和id_rsa_two),這是就會生成一下目錄中的四個檔案。
兩份包含私鑰和公鑰的4個檔案。
新增私鑰
在對應平臺新增私鑰的地方,把兩個賬號生成的私鑰新增進去。 獲取私鑰
cat ~/.ssh/id_rsa_one.pub
複製程式碼
cat ~/.ssh/id_rsa_two.pub
複製程式碼
其中(id_rsa_one.pub和id_rsa_two.pub)是之前對的ssh檔案重新命名的檔名
建立config檔案
在~/.ssh目錄下建立一個config檔案
touch config
複製程式碼
會在~/.ssh目錄下生成一個空的config檔案,我們在檔案中新增以下內容。
#git server one
Host one.aliyun.com #別名
Hostname code.aliyun.com #真實域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_one #ssh 檔案路徑
User one
#git server two
Host two.aliyun.com
Hostname code.aliyun.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two
User two
複製程式碼
遠端測試【可跳過】
ssh –T one.aliyun.com
複製程式碼
ssh –T two.aliyun.com
複製程式碼
使用
clone到本地
原來的寫法
git@code.aliyun.com:專案路徑.git
複製程式碼
現在的寫法
git clone git@one.github.com:專案路徑.git
複製程式碼
git clone git@two.github.com:專案路徑.git
複製程式碼
給倉庫設定區域性使用者名稱和郵箱【可不設定】
git config user.name "one_name" ; git config user.email "one_email"
git config user.name "two_name" ; git config user.email "two_email"
複製程式碼
小結
此篇文章是自己通過網上查詢然後自己實踐總結而得。由於本人知識有限,難免總結得很完整,如果讀者遇到什麼問題,歡迎留言討論,共同學習。