在一台电脑上使用两个github账号
問(wèn)題描述:
?
我公司有一個(gè)github賬號(hào),每天工作把代碼傳上去,我覺(jué)得代碼寫(xiě)的好,我同時(shí)想上傳到自己的github賬號(hào)上面去,但是目前只有一臺(tái)電腦,如何在一臺(tái)電腦上面進(jìn)行設(shè)置,使這一臺(tái)電腦可以同時(shí)上傳兩個(gè)不同的github賬號(hào)呢
?
?
解決方案:
?
1.??????生成新的ssh-key
我們默認(rèn)在此之前大家已經(jīng)可以通過(guò)這臺(tái)電腦上傳代碼到一個(gè)github賬號(hào)上面去,假設(shè)我之前注冊(cè)github賬號(hào)是dog@163.com,? 大家已經(jīng)可以上傳代碼了,現(xiàn)在我申請(qǐng)了一個(gè)新的賬號(hào)cat@163.com
首先生成新的ssh-key:在gitbash下,輸入命令:ssh-keygen –t rsa –C “cat@163.com”
然后會(huì)提示你輸入一個(gè)名字,因?yàn)槟闶窃谝慌_(tái)電腦上第二次生成公鑰,一般第一次默認(rèn)的名字是id_rsa,但是如果這次你還是這個(gè)名字的話就會(huì)把之前的覆蓋掉,意思就是說(shuō),原本電腦里面已經(jīng)存在的id_rsa,是dog@163.com 的,所以你這次輸入一個(gè)新的名字 比如id_rsa_cat,這時(shí)候就會(huì)自動(dòng)生成生成兩個(gè)文件id_rsa_cat和id_rsa_cat.pub
然后系統(tǒng)會(huì)提示你輸入密碼,然后回車(chē)就成功了。上面操作如下圖所示
2.??????添加ssh-agent(每次重啟之后都需要這句)
首先找到剛剛生成的兩個(gè)文件,注意看我上面的目錄,
所以我剛剛生成的兩個(gè)文件在我電腦的W盤(pán)下的GitFile/C-Practice下,把生成的id_rsa_cat和id_rsa_cat.pub拷貝到C盤(pán)的用戶(或者叫User)的.ssh文件下
如下圖
上圖里面配置了好幾個(gè)github,大家可以忽略,只看id_rsa_cat和id_rsa_cat.pub就好,還有就是注意我的文件夾。上面的這些操作直接在Windows下操作就好,不需要是gitbash。接下來(lái)打開(kāi)gitbash,進(jìn)入到~目錄下,然后使用下面的命令來(lái)添加,ssh-add ~/.ssh/id_rsa_cat
但是如果出現(xiàn)如下的錯(cuò)誤,就說(shuō)明沒(méi)有給本地添加一個(gè)agent
接下來(lái)使用下面的命令,創(chuàng)建一個(gè)新的agent:eval `ssh-agent -s`,然后再進(jìn)行下面的操作就好了
3.??????添加ssh key到github下
即把生成的公鑰(id_rsa_cat.pub),添加到github賬號(hào)下,這里不再細(xì)述,看下圖大家應(yīng)該就知道啥意思了
?
4.??????配置多個(gè)ssh-key
在gitbash的~目錄下,輸入下面命令:vim ~/.ssh/config
大家通過(guò)比較下圖的不同之處,根據(jù)自己的設(shè)置,把config的內(nèi)容進(jìn)行修改,這里也不再細(xì)述
?
5.??????使用cat進(jìn)行clone代碼
比如我在github賬號(hào)cat@163.com 下創(chuàng)建了一個(gè)倉(cāng)庫(kù),命名為practice,首先clone倉(cāng)庫(kù),使用命令:git clonegit@cat:cat/practice.git? 其中第一個(gè)cat是你在配置config的時(shí)候那個(gè)Host后面對(duì)應(yīng)的名字,而第二個(gè)cat是你的github賬號(hào)上面的那個(gè)名稱
比如上圖中我還配置了一個(gè)Moca的賬號(hào),而它在github上面的賬號(hào)是baixu1217.com,那么我此時(shí)clone的時(shí)候使用的命令是git clone git@Moca:baixu1217/practice.git
6.? 為每個(gè)賬號(hào)對(duì)應(yīng)的項(xiàng)目配置email和name
如果本機(jī)已經(jīng)配置所有可用的email和name,就把原本已經(jīng)配置好的取消掉,輸入命令:
git config –global–unset user.name
git config –global–unset user.email
?
然后每次clone一個(gè)倉(cāng)庫(kù)后都要配置相應(yīng)的user.name和user.email
首先進(jìn)入到你剛剛clone的倉(cāng)庫(kù)目錄下,然后輸入下面命令
git configuser.name “cat”??? 這里面的cat是你上圖中配置的那個(gè)User后面的名字保持一致。然后輸入命令:
git configuser.email “cat@163.com”??? 這里的email就是你注冊(cè)github的賬號(hào)
7.? 上傳代碼
這部分相信有基礎(chǔ)的同學(xué)一定會(huì)使用的,就是和平時(shí)使用git add ,git commit –m和git push origin master一樣了,大家可以試試吧
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的在一台电脑上使用两个github账号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “鲁史有其说”上一句是什么
- 下一篇: C语言-扫雷游戏