如何同时使用Github和Gitlab

如何同时使用Github和Gitlab

  • 如何同时使用Github和Gitlab
    • 准备条件
    • 环境配置
    • 生成公钥,配置文件
    • 测试连接
    • 最后感言

如何同时使用Github和Gitlab

同时使用gitlab和github,向远程推拉代码,关键就是在本地分别配置好各自的ssh公钥与远程关联即可。话不多说,开始!

准备条件

以我个人情形为例:公司业务代码在gitlab上,我个人的测试项目代码在github上。我这里以两个账号为例,即github和gitlab上分别使用不同的邮箱。
操作系统:windows

环境配置

gitlab上使用global全局变量,github上使用local变量,其区别在于local变量只能在本地仓库下生效,而global则是全局的。
在任何目录下配置global全局变量

$ git config --global user.name "用户名"
$ git config --global user.email "邮箱”

配置成功,使用命令查看,最终效果:
如何同时使用Github和Gitlab_第1张图片

进入github项目下配置local变量

$ git config --local user.name "用户名"
$ git config --local user.email "邮箱”

配置成功,使用命令查看,最终效果:
如何同时使用Github和Gitlab_第2张图片

生成公钥,配置文件

配置文件统一放在/c/Users/Administrator/.ssh 目录下配置gitlab与github的公钥与私钥:
如何同时使用Github和Gitlab_第3张图片
使用命令:

$ssh-keygen -t rsa  -C “邮箱” 

如何同时使用Github和Gitlab_第4张图片
连续回车3次

这里默认在/.ssh 下生成id_rsa与公钥id_rsa.pub (window目录为C:\Users\Administrator\.ssh)。这里我先使用gitlab邮箱使用默认名称,生成公钥id_rsa.pub文件后,将里面的全部内容复制到gitlab的sshkey上,同理换成github邮箱生成密钥时,为了防止与gitlab默认id_rsa冲突,可以在第一次回车是指定文件名:
如何同时使用Github和Gitlab_第5张图片
或者在生成命令时指定也可以

$ssh-keygen -t rsa  -C “邮箱”  -f “文件名”

然后同样的将公钥内容复制到github的sshkey配置添加进去。
最后一步配置
在/.ssh/目录下创建一个config文件(名称无所谓),然后指定两套的公钥与私钥分别指向哪个域名

$touch config
$vi config

文件如下:

Host github.com
    HostName github.com
    User 你自己的邮箱1
    IdentityFile ~/.ssh/id_rsa_github

Host gitlab.com
    HostName gitlab.com
    User 你自己的邮箱2
    IdentityFile ~/.ssh/id_rsa

如何同时使用Github和Gitlab_第6张图片

Tips:1.gitlab的域名我是用的是公司的ip地址,所以这里配置的不是gitlab.com,否则用ssh测试连接无法通过。
如何同时使用Github和Gitlab_第7张图片
2./.ssh/目录下的known_hosts为系统识别的免密登录用户配置信息,当成功添加github与gitlab的公钥,并向远程建立连接后,会自动生成known_hosts文件。

测试连接

好了,上面的配置完毕后,开始沟通远程

如何同时使用Github和Gitlab_第8张图片
至此,一台机器同时与gitlab与github建立连接实现!

最后感言

第二次写博客了,虽然内容很简单,但是讲述这个事实还是很麻烦的,xd。
最后,文章如有不正之处,还望各位不吝赐教,批评指正,谢谢!

你可能感兴趣的:(工程专题,gitlab,github,Devopts,Git,架构)