查看: 44|回覆: 0

[教程] 一台电脑绑定两个github帐号教程

[複製鏈接]

2

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-8-13
發表於 2021-3-12 14:47:00 | 顯示全部樓層 |閲讀模式

思路

ssh 方式链接到 Github,需要唯一的公钥,如果想同一台电脑绑定两个Github 帐号,需要两个条件:

  1. 能够生成两对 私钥/公钥
  2. push 时,可以区分两个账户,推送到相应的仓库

解决方案:

  1. 生成 私钥/公钥 时,密钥文件命名避免重复
  2. 设置不同 Host 对应同一 HostName ,但密钥不同
  3. 取消 git 全局用户名/邮箱设置,为每个仓库独立设置 用户名/邮箱

操作方法

  1. 查看已有密钥
    •   输入命令 ls ~/.ssh/,看到 id_rsaid_rsa_pub 则说明已经有一对密钥。
  1. 生成新的公钥,并命名为 id_rsa_2 (保证与之前密钥文件名称不同即可)
    •   ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "yourmail@xxx.com"
  1. .ssh 文件夹下新建 config 文件并编辑,另不同 Host 实际映射到同一 HostName,但密钥文件不同。
# default                                                                       
Host pc.github.com
HostName github.com   
User git
IdentityFile ~/.ssh/id_rsa
# two                                                                           
Host corporation.github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_2

这里有个坑需要注意:

  首先要确保这里的Host是不相同的,比如我关联自己的账号,host写成 pc.github.com;关联公司的账号,host写成 corporation.github.com

  HostName写域名:我这里关联的两个账号都是github,如果公司使用的是gitee,那么换成gitee.com就可以。

  IdentityFile写的就是对应的钥匙名称了。

  4. 将生成的 id_rsa.pubid_rsa_2.pub内容添加到对应的账号上。

 

 

 

  5. 测试 ssh 链接

ssh -T git@pc.github.com
ssh -T git@corporation.github.com
# Hi IEIT! You've successfully authenticated, but GitHub does not provide shell access. # 出现上边这句,表示链接成功

这里有个坑就是标红的地方与Host相同

  6. 取消全局 用户名/邮箱设置,并进入项目文件夹单独设置

# 取消全局 用户名/邮箱 配置
git config –global –unset user.name
git config –global –unset user.email
# 单独设置每个repo 用户名/邮箱
git config user.email “xxxx@xx.com”
git config user.name “xxxx”

  7. 命令行进入项目目录,重建 origin (whatever 为相应项目地址)

git remote rm origin
git remote add origin git@pc.github.com:whatever  (这里关联自己账号)
或者:
git remote add origin git@corporation.github.com:whatever (这里关联公司账号)

  这里有个坑就是标红的地方与Host相同

   这样就可以将自己的密钥对应到不同账号了。

  然后就是正常的git操作,比如可以 push 测试一下

git push origin master

  如果成功就OK啦。

  自己踩过的坑,记下来。



来源:https://www.cnblogs.com/SupremeBoy/p/14523847.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部