一臺電腦綁定兩個github帳號教程

mustang

思路

ssh 方式鏈接到 Github,需要唯一的公鑰,如果想同一臺電腦綁定兩個Github 帳號,需要兩個條件:

  1. 能夠生成兩對 私鑰/公鑰
  2. push 時,可以區(qū)分兩個賬戶,推送到相應(yīng)的倉庫

解決方案:

  1. 生成 私鑰/公鑰 時,密鑰文件命名避免重復
  2. 設(shè)置不同 Host 對應(yīng)同一 HostName 但密鑰不同
  3. 取消 git 全局用戶名/郵箱設(shè)置,為每個倉庫獨立設(shè)置 用戶名/郵箱

操作方法

  1. 查看已有 密鑰
  • Mac 下輸入命令 ls ~/.ssh/,看到 id_rsaid_rsa_pub 則說明已經(jīng)有一對密鑰。
  1. 生成新的公鑰,并命名為 id_rsa_2 (保證與之前密鑰文件名稱不同即可)
  • ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "yourmail@xxx.com"
  1. .ssh 文件夾下新建 config 文件并編輯,另不同 Host 實際映射到同一 HostName,但密鑰文件不同。Host 前綴可自定義,例子中ieit
# default                                                                       
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# two                                                                           
Host ieit.github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_2
  1. 將生成的 id_rsa.pub,id_rsa_2.pub內(nèi)容copy 到對應(yīng)的 repo
  1. 測試 ssh 鏈接
ssh -T git@ieit.github.com
ssh -T git@github.com
# Hi IEIT! You've successfully authenticated, but GitHub does not provide shell access.
# 出現(xiàn)上邊這句,表示鏈接成功
  1. 將項目 clone 到本地, folder-name 是本地文件夾路徑
git clone git@github.com:whatever folder-name
  1. 取消全局 用戶名/郵箱設(shè)置,并進入項目文件夾單獨設(shè)置
# 取消全局 用戶名/郵箱 配置
git config –global –unset user.name
git config –global –unset user.email
# 單獨設(shè)置每個repo 用戶名/郵箱
git config user.email “xxxx@xx.com”
git config user.name “xxxx”
  1. 命令行進入項目目錄,重建 origin (whatever 為相應(yīng)項目地址)
git remote rm origin
git remote add origin git@ieit.github.com:whatever
  1. 成功,可以 push 測試一下
git push origin master

參考資料

最后編輯于
?著作權(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)容