本节课我们学习下多个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 天,点击查看活动详情