同臺(tái)電腦上使用2個(gè)git賬號(hào) 并用TortoiseGit管理

之前做自己的項(xiàng)目,上傳github之后,再更新公司項(xiàng)目,發(fā)現(xiàn)公司項(xiàng)目里的git賬號(hào)變成私人的了。git管理雖然很高級(jí),但是配置真的傷死腦筋,為了同時(shí)使用2個(gè)賬號(hào),也折騰了一番。

git使用的是SSH加密協(xié)議,github網(wǎng)站里用戶setting中需要配置相應(yīng)的SSH keys,這些keys是在C:\Users\Administrator.ssh下管理的。如果需要管理2個(gè)賬戶,一般要生成2套SSH key。

如何生成SSH key

  1. 在.ssh文件夾下打開git Bash,輸入下面指令生成第一個(gè)SSH key,之后連敲3次回車就可以生成默認(rèn)的key了。
ssh-keygen -t rsa -C "a1@email.com"
  1. 生成第二個(gè)key時(shí),使用另外一個(gè)郵箱,跟生成第一個(gè)Key有點(diǎn)區(qū)別,在輸入保存名稱時(shí),要自主命名一下。
ssh-keygen -t rsa -C "a2@email.com"
......
Enter file in which to save the key (/Users/Administrator/.ssh/id_rsa):id_rsa_2

配置config文件

新建一個(gè)config文件,內(nèi)容編輯如下:

#賬號(hào)1配置(a1@email.com)
Host gitlab.com
HostName gitlab.com 
User git 
IdentityFile ~/.ssh/id_rsa

#賬號(hào)2配置(a2@email.com)
Host github
HostName github.com 
User git 
IdentityFile ~/.ssh/id_rsa_2

修改github中SSH keys配置

在github網(wǎng)站里用戶setting中,將id_rsa_2的內(nèi)容拷貝到新建的SSH keys中。到此其實(shí)就可以了。以下為將github上的項(xiàng)目克隆到本地。

git clone git@github.com:a2/projectName.git   //a2是賬戶2的用戶名

TortoiseGit設(shè)置

如果想用TortoiseGit來管理git,還需要繼續(xù)配置。

TortoiseGit使用的是擴(kuò)展名為ppk的密鑰,而不是ssh-keygen生成的rsa密鑰。因此需要用到TortoiseGit的putty key generator工具來生成適用于TortoiseGit的ppk密鑰。

使用putty key generator可以生成成套的適用git的rsa密鑰和適用于TortoiseGit的ppk密鑰,這里只用上面已生成的rsa密鑰來生成ppk密鑰

putty key generator.png

將剛才生成的id_rsa_2引入,生成ppk密鑰,還存在.ssh中。在剛才從git上克隆到本地的項(xiàng)目中打開TortoiseGit的setting按下圖配置。

TortoiseGit的setting配置.png

基本到這步也應(yīng)該可以了,但是我又遇到一個(gè)問題,就是在push代碼的時(shí)候一直報(bào)錯(cuò):error: cannot spawn C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe: No such file or directory fatal: unable to fork

發(fā)現(xiàn)是因?yàn)槲业腡ortoiseGit是安裝在D盤的,所以找不到。仍然要改setting中的配置,但是只改路徑時(shí),怎么都應(yīng)用保存不了,百度半天也無解。最最后勾選了上面代理的選項(xiàng),才保存進(jìn)去了。

SSH client配置.png

至此終于可以通過TortoiseGit上傳github了,公司的項(xiàng)目也可以正常拉取。

后記

其實(shí)公司的git是配置在gitlab上,沒有使用SSH來管理,所以個(gè)人的github賬戶配置也沒有這么麻煩。正常生成一組公私密鑰,即id_rsa和id_rsa.pub,將id_rsa.pub拷貝到github里setting的新建SSH keys中,使用SSH地址去克隆項(xiàng)目到本地就行了,TortoiseGit也能正常使用!

最后編輯于
?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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