一台电脑绑定两个git账号

前言

公司最近在推公共组件,要求每人分享自己组件到公司的git服务上。由于之前在公司电脑上绑定了自己的git,因此需要在一台电脑上绑定两个git账号。

生成部署新SHH key

输入命令

1
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

注意不要直接回车,第一步输入存储路径,可以找个其他路径先存放,再重命名后复制到C/user/admin/.ssh目录下。

假设原有的自己的私钥和公钥分别命名为id_rsa和id_rsa.pub,
新的公司的私钥和公钥分别命名为id_rsa_company和id_rsa_company.pub。

同样把新的公钥id_rsa_company.pub的内容复制到git服务的设置里。

添加秘钥到SSH Agent

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加的SSH agent中。

1
2
3
ssh-agent bash
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_company

创建并配置config文件

在.ssh目录下创建一个config文本文件,添加相关配置。

1
2
3
4
5
6
7
8
9
10
11
# default                       
Host github.com
HostName github.com
User xiamijun
IdentityFile ~/.ssh/id_rsa

# two
Host http://git.flyui.cn
HostName http://git.flyui.cn
User junxie4
IdentityFile ~/.ssh/id_rsa_company

测试ssh链接

1
2
ssh -T git@ieit.github.com
ssh -T git@github.com

如果成功,会显示欢迎信息,并显示用户名。

用户名/邮箱配置

为了使提交代码不混淆,需要区分一下用户名和邮箱。

可以清楚全局设置,在每个仓库下单独设置用户名和邮箱,但这样较为繁琐。

由于平常自己的账号使用较多,公司的使用不多,所以使用自己的账号作为全局,公司的账号按需配置。

全局设置:

1
2
git config --global user.name "xiamijun"
git config --global user.email "171571466@qq.com"

单个仓库设置:

1
2
git config user.name "xxx"
git config user.email "xxx@company.com"

大功告成~