【git搭建】建立多個git帳號

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

ssh key-gen 命令學習

如:github

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

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

密鑰註釋你能夠輸入任何內容shell

解決方案:配置兩套keybash

1.生成第一套

  • 生成ssh key

使用git bash 進行操做 ssh

ssh-keygen -t rsa -C "xxxxx@qq.com"
  • 生成和部署gitLab的SSH key 

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

.ssh 目錄在 C盤 用戶/username/目錄下學習

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

2.生成第二套

  • 生成ssh key
ssh-keygen -t rsa -f ~/.ssh/id_rsa_work -C "yyyyy@qq.com"

使用 -f 參數,明生產文件的名稱。不然會生成同名文件 id_rsa ,會覆蓋以前生產的。測試

  • 生成和部署gitLab的SSH key 

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

  • 測試gitLab的SSH祕鑰是否部署成功
ssh -T git@139.198.189.75

這裏的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 "xxxx@xx.com"

局部配置都在 當前項目中的 .git/config 文件中

相關文章
相關標籤/搜索