公司代码在gitee上,但是我又想访问github,我该怎么配置

5,109 阅读2分钟

本节课我们学习下多个Git服务在本地怎么配置ssh

工作久了经常会有这种情况:公司的代码是在一个单独的Git服务(内网gitlab或者在gitee)上,而我们又想去参与一些开源项目,开源项目大部分都在给github上。这个时候我们就需要在本地配置两个SSH Key

第二课中,我们已经讲过怎么配置一个SSH Key了。 这次也一样,大家可以对比着看。

这次我们从0开始,直接生成两个SSH Key

生成SSH Key

首先,我们生成两个SSH Key

生成github使用的SSH Key(用个人邮箱):

ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa

生成gitee使用的SSH Key(用公司邮箱):

ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa

配置文件

~/.ssh 目录下新建一个 config 文件(config没有后缀名),添加如下内容(其中 Host 和 HostName 填写 Git 服务器的域名,IdentityFile 指定私钥的路径)

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

去网站配置Public Key

最后,去github和gitee上分别配置对应的Public Key。这个怎么配置,可以看第二课。记住,需要分别配置上面命令生成的对应的Public Key

测试

通过ssh命令测试是否成功

ssh -T git@gitee.com
ssh -T git@github.com

Git命令配置

虽然两个SSH Key都配置成功了,我们还需要考虑一件事。那就是提交到github的用户信息,和提交到gitee的用户信息是不是可以是同一个信息。比如使用同一个邮箱? 这明显不合适,因为提交到公司仓库的邮箱用的一定是公司的邮箱。而提交到github的邮箱,一定会用自己的个人邮箱。

所以在配置Git的全局用户信息的时候,就要考虑配置哪一个邮箱。

比如全局配置成公司邮箱,那么在github仓库下,就需要再配置一下个人邮箱。

举例:

# 配置全局个人信息为公司信息,配置员工信息
git config --global user.name 'haohao'
git config --global user.email 'xxxx@company.com'

# 在某个github仓库下,配置个人信息
git config user.name '写代码的浩'
git config user.email 'xxx@qq.com'

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 15 天,点击查看活动详情