mac 下配置多個(gè)Git賬戶

場(chǎng)景描述

對(duì)于程序員來(lái)說(shuō),我們會(huì)經(jīng)常講代碼上傳托管到GitHub等代碼平臺(tái)上。然而一般情況下,同一臺(tái)電腦Git智能配置一個(gè)Git賬戶,只能向一個(gè)網(wǎng)站push,當(dāng)我們?nèi)绻枰褂枚鄠€(gè)Git賬戶時(shí)會(huì)發(fā)現(xiàn)非常的不方便。有時(shí)我們需要在同一臺(tái)電腦上同時(shí)配置安裝多個(gè)Git賬戶,例如同時(shí)配置公司的GitLab賬戶和自己私有的GitHub賬戶。這篇文章就是講述在MAC下如何同時(shí)配置多個(gè)Git賬戶。

概述

配置多個(gè)Git賬戶主要包括如下幾個(gè)步驟:

  1. 取消全局配置
  2. 對(duì)每個(gè)賬戶生成各自的秘鑰
  3. 私鑰添加到本地
  4. 公鑰添加到網(wǎng)站
  5. 對(duì)本地秘鑰進(jìn)行配置

1. 取消全局配置

當(dāng)我們?yōu)閱为?dú)Git配置時(shí),一般會(huì)調(diào)用如下的Git指令為當(dāng)前電腦的配置全局的Git name和email。

git config --global users.name "XXX"
git config --global users.email "XX@XX.com"

這會(huì)為Git設(shè)置一個(gè)整體name和email,意味著即使是不同的Git倉(cāng)庫(kù)使用的Git賬戶也是同一個(gè)Git配置。但是當(dāng)我們需要添加多個(gè)Git賬戶時(shí),采用全局的Git配置顯然是不合適的,需要針對(duì)于每一個(gè)不同的Git倉(cāng)庫(kù)進(jìn)行單獨(dú)的Git設(shè)置。

使用如下命令可以查看當(dāng)前Git賬戶和郵箱:

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

如果之前已經(jīng)使用了該命令進(jìn)行配置,則可以使用如下命令進(jìn)行清除全局郵箱和全局名稱。

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

清除掉當(dāng)前的郵箱和名稱之后,需要進(jìn)入到具體的項(xiàng)目中調(diào)用如下命令針對(duì)每個(gè)項(xiàng)目進(jìn)行單獨(dú)的設(shè)置:

git config user.email "XXX@XX.com"
git config user.name "XXX"

設(shè)置之后,如果不記得當(dāng)前項(xiàng)目設(shè)置的名稱和郵箱,可以輸入如下命令進(jìn)行查看:

git config user.email
git config user.name

如果查看到設(shè)置的不正確,再按照上述步驟進(jìn)行單獨(dú)設(shè)置。

2. 對(duì)每個(gè)賬戶生成各自的秘鑰

首先進(jìn)入到保存秘鑰的目錄:

cd ~/.ssh
//進(jìn)入到目錄,此目錄下保存生成秘鑰

然后根據(jù)賬戶郵箱生成秘鑰,命令如下:

ssh-keygen -t rsa -C "XXX@XX.xom"

輸入完成后,會(huì)有如下提示:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xx/.ssh/id_rsa):

當(dāng)看到如上指示的時(shí)候,則表示此時(shí)需要對(duì)生成的秘鑰文件進(jìn)行重命名,默認(rèn)文件名是id_rsa。此時(shí)由于需要設(shè)置多個(gè)賬戶,在此需要對(duì)此文件進(jìn)行重新命名以區(qū)分多個(gè)賬戶。在此示例取名:id_rsa_github。之后設(shè)置密碼可以直接按回車,直至秘鑰生成,在秘鑰目錄下可以看到兩個(gè)文件id_rsa_githubid_rsa_github.pub
對(duì)于另外的GitLab的賬戶,可以采用相同的步驟進(jìn)行生成秘鑰id_rsa_gitlab

3. 將私鑰添加到本地

SSH協(xié)議的原理,就是在本地使用私鑰,在網(wǎng)站上使用公鑰,這樣本地倉(cāng)庫(kù)就可以和遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行通信,可以輸入如下指令將私鑰添加到本地:

ssh-add ~/.ssh/id_rsa_github //將github私鑰添加到本地
ssh-add ~/.ssh/id_rsa_gitlab //將Gitlab私鑰添加到本地

4. 公鑰添加到網(wǎng)站

如上部所說(shuō),還需要將公鑰添加到網(wǎng)站。在此以github為例進(jìn)行簡(jiǎn)單說(shuō)明:

首先復(fù)制公鑰,就是id_rsa_github.pub文件中的內(nèi)容進(jìn)行復(fù)制,打開(kāi)github并登陸,點(diǎn)擊頭像選擇setting選項(xiàng),在SSH and GPG keys項(xiàng),將之前復(fù)制的內(nèi)容粘貼進(jìn)去,點(diǎn)擊add SSH key添加key。

添加之后可以通過(guò)輸入如下指令查詢是否配置成功:

ssh -T git@github.com

5. 本地秘鑰配置

由于添加了多個(gè)秘鑰文件,因此需要對(duì)秘鑰進(jìn)行配置管理。

在.ssh(秘鑰文件所在文件夾)目錄下新建config文件,使用文檔打開(kāi)此文件并在文件配置如下內(nèi)容:

Host github // 網(wǎng)站的別名,隨意取
HostName github.com // 托管網(wǎng)站的域名
User XX // 托管網(wǎng)站上的用戶名
IdentityFile ~/.ssh/id_rsa_github // 使用的密鑰文件
 
// GitLab的配置相同
Host gitlab
HostName gitlab.com
User XX
IdentityFile ~/.ssh/id_rsa_gitlab

總結(jié)

設(shè)置多Git賬戶的核心內(nèi)容是為不同的Git設(shè)置不同的秘鑰并分別配置,完成上述幾步之后即可使用多Git。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容