在一臺Mac上不同平臺同時使用多個Git賬號

joker_king發表於2018-12-20

有時候我們可能需要在一太電腦上使用多個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),這是就會生成一下目錄中的四個檔案。

在一臺Mac上不同平臺同時使用多個Git賬號

兩份包含私鑰和公鑰的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"
複製程式碼

小結

此篇文章是自己通過網上查詢然後自己實踐總結而得。由於本人知識有限,難免總結得很完整,如果讀者遇到什麼問題,歡迎留言討論,共同學習。

相關文章