1. 背景介绍
大部分情况下开发者会同时有个人项目和公司项目, 如果公司和个人的仓库都在同一个平台比如GitHub, 这个时候后如何配置可以使得不同的 key 对应不同 GitHub 账号进行使用?
2. 解决方案
使用别名来控制 git 在使用 ssh 时加载不同的配置.
3. 实现步骤
假设已经针对个人和公司的 GitHub 生成了不同的 key 如下:
1 | ~/.ssh/id_rsa.pub ## 个人 |
3.1 在~.ssh/config中新建不同的别名:
1 | Host github.com |
其中第一个为个人使用,第二个为公司使用.
3.2 修改 origin url
每个项目都有 origin, 利用上一步配置的Host别名配置 origin, 这里我修改公司项目的配置,个人配置保持不变, 具体操作如下:
1 | cd your-project # a.进入项目根目录 |
从b步骤中可以看到原来的 url 中 domain 是 github.com, 我们需要将其替换为上一步配置的别名, 即: company.github.com
3.3 测试
修改完毕后可以通过 git pull / git push测试, 可以通过 ssh 进行测试, 这里用ssh测试一下 company:
1 | ssh -T git@company.github.com |