参考:

  1. GitHub 多账户设置
  2. github_multiple-accounts.md
  3. github 多账号使用ssh key

适用场景:希望在同一台机器上使用多个github账号时

步骤

核心步骤:

  1. 创建一个新的SSH key(注意路径)并添加进ssh
  2. 在新的账号上添加新创建的public key
  3. 在本地添加一个config文件以作区别
  4. enjoy!

创建一个新的ssh key并添加

ssh-keygen -t rsa -C "xxx email"

注意这里不能一路回车,在下面这步需要输入新的位置,因为通常默认的是id_rsa,而这个已经被原来的账号所使用

image-20210808103624410

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中,比如这里就把上面的key命名为id_rsa_wttong

image-20210808103853450

在新的账号上添加新创建的public key

进入github setting - SSH key相关的即可添加

在本地添加config文件

通常来说是默认是没有config文件的,所以要先创建,然后打开编辑

touch ~/.ssh/config
vim ~/.ssh/config

具体的内容可参考:

Host github.com # 默认的账号
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Host github.com-wttong # 新添加的账号
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_wttong # 特别注意这里

核心就是把两个identityFile区分开来

最后检查两个是否都正常使用

image-20210808104409486

具体使用的要注意的点

  1. 在clone等时候,如果使用ssh的方式,需要注意更改的地方:

比如原本是:

git clone git@github.com:xxxx

需要改为

git clone git@github.com-wttong:xxxx

其他诸如push等类似

  1. 对于已有的repo,需要注意config中是否需要修改,可以通过 git config --list查看,比如下面这种,看看是否需要和上面一样修改github.com

    image-20210808104727256