git多賬號設(shè)置-GitHub&Gitee
git多賬號設(shè)置-GitHub&Gitee
內(nèi)容涵蓋
1.?生成密鑰
2.?GitHub與Gitee的網(wǎng)頁配置公鑰
3.?Git本地配置私鑰
4.?測試連接
?
生成密鑰
清除原本的git全局配置
通常git全局配置命令如下所示。
git config --global user.name "zhangfangxing" //?配置全局用戶名,如?Github?上注冊的用戶名
git config --global user.email "331325797@qq.com" //?配置全局郵箱,如?Github?上配置的郵箱
查看git全局配置命令如下所示。
git config --global --list
清除之后輸出內(nèi)容如下所示。

?
?
生成密鑰對
所謂密鑰對是本地git與GitHub或Gitee進行連接時使用的RSA非對稱加密密鑰對,即本地存儲一個私鑰,給予GitHub或Gitee一個公鑰。每次提交的時候GitHub與Gitee都會比對公鑰與私鑰。比對成功即可正常使用GitHub或Gitee。
首先我們開始生成?github?上的倉庫鑰對,通過?-C?參數(shù)填寫?github?的郵箱:
ssh-keygen -t rsa -C “zhang_fangxing@163.com”
輸入回車鍵后需輸入保存的地址和路徑和文件名如下圖所示。

也可自行進行輸入,這個存儲的文件在整體配置項目之后可以自行進行刪除,并不影響git緩存之中的內(nèi)容。不過要注意刪除文件的話不要清除git的賬號緩存,否則無法正常使用。筆者選擇刪除了文件,只用緩存運行。
單獨更改一下輸出rsa的名字test_rsa之后,需要輸入相關(guān)密碼,再次回車后需要再次輸入密碼,如下圖所示。

?
至此筆者生成了兩套ras文件如下圖所示。

GitHub與Gitee的網(wǎng)頁配置公鑰
Github網(wǎng)頁配置
選擇用戶設(shè)置如下圖所示。

?
?
在用戶設(shè)置之中選擇SSH?and?GPG?keys?如下圖所示。

?
選擇新建?SSH?KEY?如下圖所示。

?
輸入SSH?KEY的相關(guān)內(nèi)容如下圖所示。

?
其中Title為可以隨意編寫的內(nèi)容,Key中粘貼上一小節(jié)提供的.pub文件內(nèi)全部的數(shù)據(jù)。
Gitee網(wǎng)頁配置
Gitee處選擇設(shè)置

選擇設(shè)置之后,在左側(cè)有SSH公鑰按鈕如下圖所示。

?
只需要在這其中如同Github一樣將自身的.pub文件粘貼到這其中即可。
Git本地配置私鑰
使用下述代碼添加本地私鑰進本地Git。
ssh-add ~/.ssh/id_zfx_github_rsa //?將?GitHub?私鑰添加到本地
ssh-add ~/.ssh/id_zfx_gitee_rsa //?將?Gitee私鑰添加到本地
添加完畢后,可以通過執(zhí)行下述代碼進行驗證。
ssh-add -l
?
這里需要注意一下,筆者用的mac電腦通過brew自動裝配的Git,配置至此就結(jié)束了。但是網(wǎng)絡(luò)上各種博客很多說需要使用ssh的config文件,下面內(nèi)容筆者沒進行操作,可斟酌考慮。
?
編輯?~/.ssh?目錄下的?config?文件,如果沒有則請創(chuàng)建。配置內(nèi)容如下所示。
Host github
HostName github.com
User jitwxs
IdentityFile ~/.ssh/id_rsa_github
?
Host gitlab
HostName gitlab.mygitlab.com
User lemon
IdentityFile ~/.ssh/id_rsa_gitlab
?
該文件分為多個用戶配置,每個用戶配置包含以下幾個配置項:
?
Host:倉庫網(wǎng)站的別名,隨意取
HostName:倉庫網(wǎng)站的域名(PS:IP?地址應(yīng)該也可以)
User:倉庫網(wǎng)站上的用戶名
IdentityFile:私鑰的絕對路徑
?
注:?Host?就是可以替代?HostName?來使用的別名。
?
測試連接
可以用?ssh -T?命令檢測下配置的?Host?是否是連通的,代碼如下所示。
ssh -T github.com
ssh -T?gitee.com
?
成功效果如下所示。

?
?
GitHub此刻可以正常pull命令,clone,add,commit,push都可以使用,但是因為網(wǎng)速的事情經(jīng)常會測試連接失敗,值得一提的是,此刻我連GitHub網(wǎng)頁都打不開了。但是通過命令仍然可以進行pull之類的操作。

?
?
最后筆者上傳的文件如下所示。

?
?
這里值得一提的是,GitHub和Gitee畢竟是兩個倉庫,所以本地還是需要兩個文件夾分別存放兩個倉庫。通常上傳文件之前需要在GitHub或Gitee新建兩個倉庫,并且clone下來,再在里面提交。筆者是這樣操作的。如果有其他更好的操作的小伙伴,可以給筆者發(fā)郵件:zhang_fangxing@163.com。
?
clone時選擇的是HTTPS如下圖所示。

java交流群:
1074468813
?
