如何在一臺(tái)電腦上使用多個(gè)git帳號(hào)

如何在一臺(tái)電腦上使用多個(gè)git帳號(hào)?

我被這個(gè)問(wèn)題,困擾了許久,今天終于搞成功了,必須總結(jié)一下。

謝謝廖雪峰老師的git教程,讓我學(xué)會(huì)了git如何使用。但是當(dāng)時(shí)是這樣配置的

$ git config --global user.name "username"
$ git config --global user.email "email@example.com"

請(qǐng)注意里邊的 global 參數(shù),這是全局配置,你在電腦里任何一個(gè)地方使用git都會(huì)默認(rèn)使用這個(gè)賬戶(hù)。

然而問(wèn)題來(lái)了,我要在一臺(tái)電腦上使用多個(gè)帳號(hào)呢,公司一個(gè)帳號(hào),自己一個(gè)帳號(hào),或是 github 一個(gè) ,oschina 一個(gè)怎么辦呢?

首先你要忍痛把全局設(shè)置取消掉,而且每次創(chuàng)建新倉(cāng)庫(kù)都要設(shè)置這個(gè)倉(cāng)庫(kù)的用戶(hù)。
如下代碼所示:取消全局設(shè)置

$ git config --global --unset user.name
$ git config --global --unset user.email

設(shè)置倉(cāng)庫(kù)對(duì)應(yīng)的用戶(hù)

$ git config user.name "example"  
$ git config user.email "example@gmail.com"

以上是針對(duì)的是原來(lái)已經(jīng)配置好的賬戶(hù),如此設(shè)置之后就可以按照正常的流程提交代碼了。

添加新賬戶(hù)

1. 生成新的ssh-key

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "email@example.com"

email@example.com這里是你新賬戶(hù)的郵箱。
請(qǐng)注意** id_rsa_2**是生成新key的名字,可以自己命名,但不能和原來(lái)的ssh-key一樣。

2. 添加到 ssh-agent 信任列表

$ ssh-add ~/.ssh/id_rsa_2

請(qǐng)注意:此處有坑,你可能會(huì)遇到這樣的問(wèn)題

Could not open a connection to your authentication agent.

解決方案:(也可以是其他的,參考資料里邊stackoverflow里邊的答案你都可以試試)

$ ssh-agent bash

這之后,再添加。看到如下所示的情況,就證明添加成功了

$ ssh-add ~/.ssh/id_rsa_2
Identity added: /c/Users/dong/.ssh/id_rsa_2 (/c/Users/dong/.ssh/id_rsa_2)

參考資料:
http://www.cnblogs.com/sheldonxu/archive/2012/09/17/2688281.html
http://stackoverflow.com/questions/17846529/could-not-open-a-connection-to-your-authentication-agent

3. 添加ssh-key到github

詳見(jiàn):https://help.github.com/articles/connecting-to-github-with-ssh/

4.在config文件配置多個(gè) ssh-key

找到你的.ssh文件夾,打開(kāi)config文件;如果沒(méi)有config自己建一個(gè),不要設(shè)置后綴名。
配置如下:

Host github.com
   User taosang1992
   Hostname github.com 
   IdentityFile C:\Users\dong\.ssh\id_rsa

Host username.github.com
   User username
   Hostname github.com 
   IdentityFile C:\Users\dong\.ssh\id_rsa_2

根據(jù)你自己的情況配,你的用戶(hù)名是什么,就把username改成什么。

5.為每個(gè)倉(cāng)庫(kù)單獨(dú)設(shè)置用戶(hù):

$ git config user.name "username"  
$ git config user.email "email@example.com"

自此,你就可以按照git的正常工作流程干活了。

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

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 聲明:這篇文章來(lái)源于廖雪峰老師的官方網(wǎng)站,我僅僅是作為學(xué)習(xí)之用 Git簡(jiǎn)介 Git是什么? Git是目前世界上最先...
    橫渡閱讀 4,139評(píng)論 3 27
  • 個(gè)人感受: 隱藏的解釋分解環(huán)節(jié)和直覺(jué)解釋環(huán)節(jié)這2部分特別燒腦,錄音反復(fù)聽(tīng)了好幾遍,從一開(kāi)始的滿頭霧水到現(xiàn)在有點(diǎn)明白...
    麗麗smile閱讀 374評(píng)論 0 0
  • Gradle是一種現(xiàn)在很流程的構(gòu)建工具,目前基本和Maven平分天下,而且大有取而代之的趨勢(shì)。這篇教程教大家怎么在...
    低調(diào)的微胖閱讀 9,768評(píng)論 0 8
  • 雪,身潔膚白。入住村莊落戶(hù)田野,蓋秋后落葉。玩童帶笑雙手接。暖春時(shí),化甘露潤(rùn)萬(wàn)物,翁歡悅!
    牛也飛閱讀 310評(píng)論 1 3

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