在一台电脑上同时关联GitLab和GitHub

原文地址:在一台电脑上同时关联GitLab和GitHub

Git 客户端与服务器端的通信支持多种协议,其中SSH是最常用的。SSH的公钥登录流程:用户将自己的公钥存储在远程主机,登录时,远程主机会向用户发送一条消息,用户用自己的私钥加密后,再发给服务器。远程主机用事先存储的公钥进行解密,如果成功,就证明用户可信。

生成GitLab和GitHub的SSH

SSH生成命令

ssh-keygen -t rsa -C "注册 gitlab 账户的邮箱"
ssh-keygen -t rsa -C "注册 github 账户的邮箱"

注意SSH保存的地址,GitLab和GitHub的SSH文件名不同。

 在一台电脑上同时关联GitLab和GitHub_第1张图片

在一台电脑上同时关联GitLab和GitHub_第2张图片

在一台电脑上同时关联GitLab和GitHub_第3张图片


将两个.pub文件分别配置到GitLab和GitHub的ssh keys中。 

在一台电脑上同时关联GitLab和GitHub_第4张图片


编写config文件

由于本地调用私钥时默认使用 id_rsa,而我们是修改了名称的,所以要编写config文件,告诉本地调用哪个私钥。

创建config文件

touch ~/.ssh/config


文件内容

Host github.com
   HostName github.com
   User 任意名称
   IdentityFile ~/.ssh/github_id_rsa

Host 公司GitLab的域名
   HostName 公司GitLab的域名
   User 任意名称
   IdentityFile ~/.ssh/gitlab_id_rsa


创建本地仓库

在任意位置创建一个文件夹作为本地仓库,然后在该文件夹下进入git命令行界面。GitLab和GitHub各创建一个仓库。

本地配置

git init
git config --global user.name "注册GitLab的用户名"
git config --global user.email "注册GitLab的邮箱"

git init
git config --global user.name "注册GitHub的用户名"
git config --global user.email "注册GitHub的邮箱"
 

验证是否配置成功

GitHub

ssh -T [email protected]


第一执行会报错,不用管,然后输入yes后在.ssh目录下就多了一个文件 known_hosts

在一台电脑上同时关联GitLab和GitHub_第5张图片

再验证下

GitLab

因为每个公司的GitLab域名不同,所以不能用GitHub的测试方法,可以通过clone一个项目来测试。
 

你可能感兴趣的:(Git)