1. 程式人生 > >建立多個git賬號

建立多個git賬號

開發十年,就只剩下這套架構體系了! >>>   

實習開發中我們可能一個機子上配置多個git賬號,如github.com,oschina.com 或者工作賬號,私人賬號,這時候就2個賬號用一個key,肯定會衝突,有一個會提示沒許可權(賬號和密碼對應不上)

ssh key-gen 命令學習

如:

ssh key-gen -t rsa -C "comment"

金鑰的型別 : -t = The type of the key to generate
識別金鑰的註釋:-C = comment to identify the key

金鑰註釋你可以輸入任何內容

解決方案:配置兩套key

1.生成第一套

  • 生成ssh key

使用git bash 進行操作 

ssh-keygen -t rsa -C "[email protected]"  
  • 生成和部署gitLab的SSH key 

在~/.ssh/目錄下生成id_rsa.pub公鑰新增到github的ssh祕鑰處。

.ssh 目錄在 C盤 使用者/username/目錄下

  • 測試gitLab的SSH祕鑰是否部署成功
ssh -T github.com  

2.生成第二套

  • 生成ssh key
ssh-keygen -t rsa -f ~/.ssh/id_rsa_work -C "[email protected]"  

使用 -f 引數,明生產檔案的名稱。否則會生成同名檔案 id_rsa ,會覆蓋之前生產的。

  • 生成和部署gitLab的SSH key 

在~/.ssh/目錄下生成id_rsa_work.pub公鑰新增到github的ssh祕鑰處。

  • 測試gitLab的SSH祕鑰是否部署成功
ssh -T [email protected]  

這裡的139.198.189.75是公司內部的gitLab的地址

3.新增祕鑰到SSH Agent

因為預設只讀取id_rsa,為了讓SSH識別新的私鑰,需將其新增的SSH agent中。

ssh-agent bash

ssh-add ~/.ssh/id_rsa  
## 可以通過ssh-add -l來確認結果 

ssh-add ~/.ssh/id_rsa_work  
## 可以通過ssh-add -l來確認結果   

4.建立並配置config檔案

在.ssh目錄下建立一個config文字檔案,新增相關配置

主要有以下配置:

  • HostName 這個是真實的域名地址
  • IdentityFile 這裡是id_rsa的地址
vi .ssh/config

# 加上以下內容


# 配置 gitLab
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
PreferredAuthentications publickey
User Boy-A

# 配置工作
Host 139.198.189.75:88
HostName 139.198.189.75:88
IdentityFile ~/.ssh/id_rsa_work
PreferredAuthentications publickey
User Boy-B

該檔案的主要作用就是指明各個git帳號對應的User以及IdentityFile的檔案位置。當配置完畢後,在各個專案repo中應用自己的使用者名稱以及郵箱

其中 上面的 IdentityFile 可以用絕對地址,如 /c/Users/shellay/.ssh/id_rsa ,在.ssh 目錄下使用 pwd 獲取

5.使用者名稱和郵箱的配置

因為一臺電腦上配置了多個git賬號,所以就不能再配置全域性的使用者名稱和郵箱了,而是在不同的倉庫下,如果需要連線不同的git賬號,配置相應的區域性使用者名稱和郵箱即可,如果之前配置過全域性的使用者名稱和郵箱,需要取消global配置

git config --global --unset user.name
git config --global --unset user.email

全域性配置在 C:/使用者/username/gitconfig 檔案中

配置區域性的使用者名稱和郵箱

git config user.name "xxxx"
git config user.email "[email protected]"

區域性配置都在 當前專案中的 .git/config