前言
想象一下,你平时工作时会用到一个 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 中,在设置里选到这一栏:
然后选择 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
即可