最近遇到一個問題,我自己個人有一個碼云的代碼托管倉庫,平時我自己的電腦直接配置賬號拉取代碼即可,但是現(xiàn)在需要用自己的電腦,開發(fā)公司的項目,這個時候就需要在電腦上使用不同的git賬戶,在度娘上找了很多解決方案,沒有遇到完整可用的,經(jīng)過使用總結(jié)和調(diào)試,得出以下配置方式,適用于第一拉代碼和第一次提交代碼。
生成秘鑰
我自己本身就有一個git賬戶,賬戶的私鑰公鑰都是按照默認(rèn)方式生成的,不做贅述。接下來為生成第二個賬號公私鑰的操作方法。
- 首先生成一個git賬戶對應(yīng)的公鑰和私鑰
ssh-keygen -t rsa -C "email@163.com" # 郵箱自定義
注意:輸入此命令后記得不要一直敲回車,首先是選擇生成文件的存儲位置,如果直接敲回車生成的名稱是默認(rèn)的id_rsa,如果你之前生成過,就可能導(dǎo)致名稱沖突報錯或者把以前的覆蓋,需要如下執(zhí)行:
- 執(zhí)行命令
ssh-keygen -t rsa -C "email@163.com"后,會有Enter file in which to save the key (/c/Users/joker/.ssh/id_rsa):提示信息,這個時候?qū)?code>/c/Users/joker/.ssh/id_rsa復(fù)制輸入到后面,并將id_rsa修改成其他名稱,如id_rsa_test; - 接下來直接敲回車到結(jié)束即可,這個時候在
C:\Users\joker\.ssh目錄下,會生成兩個文件,分別是id_rsa_test和id_rsa_test.pub,后者是公鑰,用記事本打開,復(fù)制內(nèi)容,配置到你的遠程倉庫即可(如何配置請找度娘)。
- 接下來需要在
C:\Users\joker\.ssh目錄下創(chuàng)建一個文件名稱為config,無后綴名記事本打開輸入內(nèi)容如下:
Host hostName1 #可以理解為別名
HostName gitee.com #托管倉庫地址
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa #指定私鑰的存儲位置
User user1
Host hostName2 #可以理解為別名
HostName gitee.com #托管倉庫地址
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_test #指定私鑰的存儲位置
User user2
- 保存上面的文件,執(zhí)行
ssh-add命令,添加私鑰到本地
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_test
到這里兩個git賬號就配置完成啦!配置很簡單,但是使用需要注意,在度娘上找的教程都卡著這一步走不下去,教程沒有細說這一塊內(nèi)容。
第一次拉取代碼
進入你要下載代碼的目錄,執(zhí)行git clone命令拉取代碼,但是這里git地址需要做稍微的改動。
- 正常拉取代碼方式:
git clone git@gitee.com:username/testproject.git
注意:在使用多個賬號的方式下,這種直接拉取,會報沒有權(quán)限,因為這樣系統(tǒng)使用的是默認(rèn)的私鑰,第二個git賬戶并非默認(rèn)私鑰,而是自定義的。
- 修改后的拉取方式
git clone git@hostName2:username/testproject.git
說明:修改的區(qū)別是將原來的gitee.com,改成config配置文件中定義的別名,也就是hostName2。
第一次提交代碼
上面的步驟適用于第一次拉取代碼,但是如果是第一次提交代碼如何弄呢,看下面的步驟。
進入項目目錄,按照如下順序執(zhí)行命令即可。
git init
git remote add origin git@hostName2:username/testproject.git # 注意這里需要將原來gitee.com用別名替換
git pull origin master
git add .
git commit -m "提交代碼備注信息"
git push origin master
再次強調(diào):在使用git remote add origin命令添加遠程倉庫地址的使用,不要直接使用域名,而是換成別名。

微信小程序-云步榜:累積步數(shù),免費贏取愛奇藝、騰訊視頻、優(yōu)酷會員!