
Git 多账号(GitHub)配置
近期有新的电脑需要从 0 到 1 配置,遇到需要配置两个 GitHub 需求,比如一个是为公司使用,另外一个是个人使用,平常搜到的多是公司内部用 gitlab 之类的,这次做一次总结,下回又有新电脑了方便快速配置。
ssh-key
用公司邮箱和个人邮箱分别生成 ssh-key:
1 | #company |
1 | #personal |
ssh 配置
下面部分内容也许仅本人能立即明白,最初是打算给个人做个备份的,如果内容觉得欠缺可留言我会补充。
1 | open ~/.ssh |
打开 ssh 文件夹,会发现里面有 config(没有的话新建一个即可,在 ssh 下使用 touch config
命令),配置如下内容:
1 | #company |
上述省略了为多个 git 账户生成 ssh-key 的过程,详细方法可阅读下文中的「参考」部分配置多个 git 账号。
config 文件里我们就配置了公司和个人的 github 账号,至于 IdentityFile 是我们生成 ssh-key 过程中自定义的名称,作区分使用。
以上配置是将生成的私钥绑定身份,比如 id_rsa_company 作为公司里的身份这样。
添加信任列表
分别添加到 ssh-agent 信任列表,如下:
1 | #company |
1 | #personal |
添加公钥
完成上述配置后,我们需要将公钥和 github 连接起来:
1 | # 首先复制公司配置的公钥后连接公司 github |
上述连接操作是在浏览器登录不同的 GitHub 账号(也就是不同的邮箱账号),如下图所示,new 一个然后填入刚刚复制的公钥字符进去即可。
测试连接
上述配置顺利的话,接着就是来 ssh -T ---
来测试一下联通了否,如下代码:
1 | ssh -T git@company |
上述 git@「xxx」中的
xxx
即为我们 config 文件里定义的 host,自行替换即可。
连接成功你应该会受到 successfully
相关的描述内容,祝你一切配置顺利!
1 | Hi xxx! You've successfully authenticated.but GitHub does not provide shell acess |
git clone
上述配置没啥问题后,就可以去推拉代码了,但这里有一点要注意一下,因为多账号都是 GitHub 的,我们使用 ssh 时需要加上 host 区分一下,例如我自己的 chodocs:
如上,我们 git clone 的时候需要加上前缀:
1 | # 个人 github |
如果是公司项目的话,假如项目名字是 nextjs-web
,那么配置如下:
1 | # company github |
以上就是全部内容了,希望能够帮助到你!