在一台电脑上同时关联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文件名不同。

 


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


编写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 git@github.com


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

再验证下

GitLab

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

要同时配置GitLabGitHub的SSH,你可以按照以下步骤进行操作: 1. 打开终端并进入.ssh文件夹,可以使用以下命令: ``` cd ~/.ssh ``` 2. 查看是否已经存在id_rsa_gitlab和id_rsa_github的公钥文件,可以使用以下命令: ``` ls id_rsa_gitlab.pub ls id_rsa_github.pub ``` 3. 如果公钥文件不存在,你需要生成新的SSH密钥对。可以使用以下命令来生成: ``` ssh-keygen -t rsa -C "your_email@example.com" ``` 这会在.ssh文件夹下生成一个新的SSH密钥对,并且会要求你提供一个文件名和密码。 4. 复制id_rsa_gitlab.pub的内容,并将其添加到你的GitLab帐户中的SSH密钥设置中。可以使用以下命令复制内容: ``` cat id_rsa_gitlab.pub ``` 5. 复制id_rsa_github.pub的内容,并将其添加到你的GitHub帐户中的SSH密钥设置中。可以使用以下命令复制内容: ``` cat id_rsa_github.pub ``` 6. 配置SSH config文件,以便区分GitHubGitLab。可以使用以下命令编辑config文件: ``` nano ~/.ssh/config ``` 然后按照以下格式添加配置信息: ``` # GitHub Host github.com HostName ssh.github.com User your_github_email@example.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github Port 443 # GitLab Host gitlab.com HostName gitlab.com User your_gitlab_email@example.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_gitlab ``` 注意替换your_github_email@example.com和your_gitlab_email@example.com为你自己的GitHubGitLab邮箱。 回答完问题后的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值