git配置同时使用 Gitlab、Github、Gitee(码云)
itshizhan
发表于
2020-09-12 22:34
1917
Git
Gitee
现在git已经成了程序员的必备了。
通常我们都有自己的github账户,一般来说,只有全局配置一下就可以使用了
git config –global user.name "yourname"
git config –global user.email "youremail"
但是,突然有一天,公司内部也搭建了私有的git服务,如gitlab。
此时如果我们再git clone 一个项目也是没有问题的。但是 push 的时候却发现不对劲。到底是push 到github还是gitlab呢?
解决方式是,我们可以添加多个SSH公钥到配置文件即可。
下面以gitlab 和gitee(现在国内还是用码云吧) 为例进行说明:
生成ssh 公钥
# 切换到 ~/.ssh/ 目录
# 生成gitee公钥,邮箱填写gitee 的邮箱
ssh-keygen -t rsa -C "youremail@163.com"
# 会提示我们输入一个文件名,默认的名字是id_rsa, 这里我修改为:id_rsa_gitee
# 一直回车后,会生成 id_rsa_gitee 和 id_rsa_gitee.pub 两个文件
# 生成gitlab 公钥
# 然后再次执行,邮箱填写gitlab 的邮箱
ssh-keygen -t rsa -C "youremail@163.com"
# 输入文件名:id_rsa_gitlab,依次回车即可。
最终生成如下文件:
在~/.ssh/ 目录下,新建config文件
# 配置 gitlab,公司内部使用
#主机名,即网站的别名,方便记忆即可
Host git.yourcompany.cn
# git公有地址网站的域名,也可以填写公司ip
HostName git.yourcompany.cn
# 如果是github 填写 User git,其它的填写注册邮箱
User yourname@yourcompany.com
# 使用的密钥文件
IdentityFile ~/.ssh/id_rsa_gitlab
# 配置gitee,码云,自己使用
Host gitee.com
HostName gitee.com
User yourname@163.com
IdentityFile ~/.ssh/id_rsa_gitee
添加公钥到gitee的安全设置中。
登录gitee,打开https://gitee.com/profile/sshkeys页面 将 id_rsa_gitee.pub 中的内容复制进去即可。
好了,后续就可以愉快的提交代码了。
PS: 如果你之前已经全局配置了 user.name 和 user.email, 记得先清除,或者针对单个项目重新设置一下用户名。 不然再提交记录里面显示的用户名可能会混乱。
$ cd ~/your_project
$ git config user.name "your_user"
$ git config user.email "your_name@email.com"