在一臺電腦上配置多個git賬戶解決方案

最近遇到一個問題,我自己個人有一個碼云的代碼托管倉庫,平時我自己的電腦直接配置賬號拉取代碼即可,但是現(xiàn)在需要用自己的電腦,開發(fā)公司的項目,這個時候就需要在電腦上使用不同的git賬戶,在度娘上找了很多解決方案,沒有遇到完整可用的,經(jīng)過使用總結(jié)和調(diào)試,得出以下配置方式,適用于第一拉代碼和第一次提交代碼。

生成秘鑰

我自己本身就有一個git賬戶,賬戶的私鑰公鑰都是按照默認(rèn)方式生成的,不做贅述。接下來為生成第二個賬號公私鑰的操作方法。

  1. 首先生成一個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_testid_rsa_test.pub,后者是公鑰,用記事本打開,復(fù)制內(nèi)容,配置到你的遠程倉庫即可(如何配置請找度娘)。
  1. 接下來需要在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
  1. 保存上面的文件,執(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)酷會員!
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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