为一台电脑配置多个 GitHub 账号

1,849 阅读3分钟

前言

想象一下,你平时工作时会用到一个 GitHub 账户,而周末维护一些自己的项目时又需要使用到自己的 Github 账号,恰巧它们还都发生在了同一台电脑上,这样你就会需要来回切换账号,是不是很头疼呢?

本文将带你在十分钟内为同一台电脑配置好两个 GitHub 账号,从此不再为切换账号而烦恼。

第一步:生成 SSH 密钥

首先我们要为两个账号都配置好 SSH,假设你已经为自己的账户配置好了,那我们需要再对工作账号再额外配置一次 SSH。第一步,我们需要为账号生成密钥:

ssh-keygen -t ed25519 -C "your_email@work.com"

需要注意的是,当其出现以下提示时,需要手动修改一下文件名,否则可能会覆盖已有的默认 SSH,比如我们修改成 work_ed25519

Enter file in which to save the key (/Users/you/.ssh/id_ed25519): ~/.ssh/work_ed25519

然后一路按 enter 即可。接下来我们可以通过以下方法来确认是否成功生成密钥:

ls ~/.ssh/
id_ed25519 id_ed25519.pub 
work_ed25519 work_ed25519.pub

若列出以上文件则表示成功。

第二步:添加 SSH 公钥

接下来,我们把生成的公钥传入 GitHub 中,在设置里选到这一栏:

image.png

然后选择 New SSH key 并把 work_ed25519.pub 中的公钥复制进去即可。

第三步:将 SSH 密钥加入 ssh-agent 并进行配置

这一步我们需要打开 ~/.ssh/ 下的 config (若没有的话新建即可)文件并输入以下的信息并保存:

Host github.com
  User 自己账号的用户名
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  IdentityFile ~/.ssh/id_ed25519

Host work.com
  HostName github.com
  User 公司账号的用户名
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  IdentityFile ~/.ssh/work_ed25519

这样我们的配置就完成啦,当我们需要 clone 公司的项目时,只需要略微修改其 SSH 即可:

我们把
git@github.com:公司名/项目名.git
改成
git@work.com:公司名/项目名.git
即可

第四步:配置工作区账号

我们如果通过 git config user.email 来查看当前邮箱时,会发现其实还是原来的个人账号邮箱,这样的话,对与公司项目的 commit 也会从我们的个人账号上传。

不过别担心,我们只需要配置好工作区的账号即可,在公司项目的路径下打开 cmd 然后输入:

git config --local user.email your_email@work.com

这样我们就为该工作区配置好了正确的信息。

只要在工作区配置好工作账号之后,commit 就会从你的工作账号上传啦。而当我们切换回自己的项目时,一切还是会和原来一样不会受到影响的。

小结

总的来说,为一台电脑配置多个 GitHub 账号并不难,只需要一下几步即可:

  • 首先,为额外账号新建 SSH 密钥
  • 其次,将公钥添加到 GitHub 上
  • 然后,为新的账户配置 SSH
  • 最后,在工作区修改 user.email 即可