Github 上双账户管理

2021-09-19

码农经常遇到需要在github上有多个账号的需求。

  • 在github.com上有一个公司账号,一个个人账号
  • 在github.com上有公司账号,在github.mycompany.com上有个人账号 那么当git提交代码时,会遇到以下问题:
  • 公司项目和个人项目需要设置不同的username和email
  • 公司项目和个人项目需要用不同的ssh私钥上传代码

特别时github.com有以下两个限制:

  • 不同的账户不允许相同的私钥
  • 2021年9月起不允许用户名密码提交,必须用私钥提交代码

以下是解决方案

  1. 用rsa算法生成公司账户密钥id_rsa和id_rsa.pub,放到~/.ssh 目录。id_rsa.pub上传公司账户公钥库
  2. 用ed25519算法生成个人账户密钥id_ed25519和id_ed25519.pub,放到~/.ssh 目录。id_ed25519.pub上传个人账户公钥库
  3. 编辑~/.gitconfig
[core]
        autocrlf = input
[user]
        name = Charlie
        email = Charlie@company.com
[credential]
        helper = manager

[includeIf "gitdir:D:/githome/person/"]
  path = D:/githome/person/.gitconfig

注意大小写敏感,驱动器名D一定要大写

  1. 编辑D:/githome/person/.gitconfig
[core]
        sshCommand = "ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519"
[user]
        name = Charlie
        email = Charlie@home.me

然后所有D:/githome/person下的项目会自动用个人用户名,邮箱,和上传密钥。

没有评论

发表回复