git 在一台機器上配置多個賬戶

2021-06-25 19:07:53 字數 3977 閱讀 1151

前提:

這個教程能教你如何生成ssh-key,以及如何新增ssh-key。

補充一點,如何設定user.name和user.email,命令如下:

1)設定區域性的user.name和user.email

git config user.name 「******」

git config user.email 「***@***.com」

2) 設定全域性的user.name和user.email

git config --gloable user.name 「******」

git config –gloable user.email 「」

第一步:

建乙個新的github賬戶,名字為testaccount,如果你已經有了,跳過此步(注:你之前已經有了乙個老的賬戶了,如果沒有,請看「前提」先來乙個賬戶)

第二步:

如果自己會生成和配置ssh-key,那麼要配其他賬戶首先要在生成乙個ssh-key,當然新的ssh-key名稱要和之前的有所區別,預設的private key 名稱為id_rsa,新的key要換個名稱,比如id_rsa2,這樣生成一套key的名稱分別為id_rsa2和id_rsa2.pub,而預設的檔案為id_rsa和id_rsa.pub

在github上建乙個新的repository,當然是基於你的第二個賬戶testaccount的,例如名稱為test

第三步:

git clone下來

第四步:

然後要在.ssh目錄下配置一下config檔案(如果沒有,建立它),例子如下:

# default account

host github.com

hostname github.com

user git

identityfile ~/.ssh/id_rsa

# new account

host github2.com

hostname github.com

user git

identityfile ~/.ssh/id_rsa2

此時發現,這個配置看不懂啊,沒關係,下邊你可以使用命令,在乙個test目錄下執行git config -l 命令檢視配置,如下所示:

注意這一行[email protected]:testaccount/test.git,這裡的 github.com表示config檔案裡的hostname,其實他並不是hostname而是乙個別名,這樣解釋:

git@別名: testaccount/test.git解析的路徑為 [email protected]:testaccount/test.git而我配的default account的host和hostname剛好一樣,如果只有乙個賬戶的時候,它並不表示別名而是路徑,此時我們不需要配置config檔案,我們設定config檔案的目的是因為我們有兩套key,分別用在兩個repository,而我們需要分別指向這兩個key,簡單來說,我們是要通過host來找到key,即通過host對映到identityfile。

此時開啟test目錄下.get目錄(隱藏目錄)的config檔案,內容如下:

[core]

repositoryformatversion = 0

filemode = false

bare = false

logallrefupdates = true

symlinks = false

ignorecase = true

hidedotfiles = dotgitonly

[remote "origin"]

url = [email protected]:testaccount/test.git

fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]

remote = origin

merge = refs/heads/master

[user]

name = testaccount

email = ***@***.com

我們只需把 url = [email protected]:testaccount/test.git改為 url = [email protected]:testaccount/test.git,即使用了new account的host來配置,對映到了新的identityfile新的key,即可儲存檔案再使用命令git config -l 檢視配置如下:

大功告成,你可以push**了

一台機器配置多個Git賬戶

在我們的開發工作中,我們會有這樣的需求 即在一台電腦上管理多個賬戶。比如 我在github上有乙個賬戶,在gitlab上有乙個賬戶,在csdn的code上也有乙個賬戶。我們需要為不同的賬戶生成不同的金鑰,但是在生成金鑰的時候預設的是id rsa私鑰和id rsa.pub公鑰,但是我們可以改公私鑰的檔...

在一台機器上執行多個mysql

在centos7以下進行安裝 centos7可以直接yum安裝mariadb資料庫,有webtatic源就可以 在同一臺機器上進行執行兩個資料庫時,建議還是進行原始碼安裝資料庫庫,因為原始碼安裝時可以自己定義目錄的位置 可參照 對於用yum安裝的mysql,是使用一台機器安裝兩個資料庫,使用不同的m...

Git使用 在一台機器上配置多個金鑰對

ssh keygen t rsa c 郵箱位址 然後聯絡enter三次 然後把公鑰上傳到伺服器 2.1 同樣的,先生成ssh keygen t rsa c 郵箱位址 enter 之後會要輸入金鑰對的名稱,如果在同一臺機器上配置多個金鑰對需要為每個金鑰對設定不同的名稱。之後會要輸入密碼,為空即可。2....