github和gitlab仓库一起使用

github是网络公有代码仓库,一般用于私人代码托管,而gitlab一般是企业搭建的内部代码仓库。工作期间,我们都会同时用到这两个仓库。可公司邮箱与个人邮箱是不同的,由此产生的 SSH key 也是不同的,这就造成了冲突 。如何在一台机器上面同时使用 Github 与 Gitlab 的服务?

1.生成秘钥

公司的GitLab生成一个SSH-Key

# 在~/.ssh/目录会生成gitlab_id-rsa和gitlab_id-rsa.pub私钥和公钥。我们将gitlab_id-rsa.pub中的内容粘帖到公司GitLab服务器的SSH-key的配置中。$ ssh-keygen -t rsa -C "注册的gitlab邮箱" -f ~/.ssh/gitlab_id-rsa

公网github生成一个SSH-Key

# 在~/.ssh/目录会生成github_id-rsa和github_id-rsa.pub私钥和公钥。我们将github_id-rsa.pub中的内容粘帖到github服务器的SSH-key的配置中。$ ssh-keygen -t rsa -C "注册的github邮箱" -f ~/.ssh/github_id-rsa

2.添加config

~/.ssh下添加config配置文件,内容如下:

# github key
Host github
    Port 22
    User git
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa
Host gitlab
    Port 22
    User git
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id-rsa

下面对上述配置文件中使用到的配置字段信息进行简单解释:

Host
    它涵盖了下面一个段的配置,我们可以通过他来替代将要连接的服务器地址。
    这里可以使用任意字段或通配符。
    当ssh的时候如果服务器地址能匹配上这里Host指定的值,则Host下面指定的HostName将被作为最终的服务器地址使用,并且将使用该Host字段下面配置的所有自定义配置来覆盖默认的`/etc/ssh/ssh_config`配置信息。
Port
    自定义的端口。默认为22,可不配置
User
    自定义的用户名,默认为git,可不配置
HostName
    真正连接的服务器地址
PreferredAuthentications
    指定优先使用哪种方式验证,支持密码和秘钥验证方式
IdentityFile
    指定本次连接使用的密钥文件

3.配置仓库

假设gitlab与jgithub的工作目录分别如下所示:

github工作仓库:~/workspace/github
gitlab工作仓库:~/workspace/gitlab

则配置如下:

#gitlab
cd ~/workspace/gitlab
git init
git config --global user.name ‘gitlab‘
git config --global user.email ‘[email protected]‘

#github
cd ~/workspace/github
git init
git config --local user.name ‘personal‘
git config --local user.email ‘[email protected]‘

4.测试

# 测试github
$ ssh -T [email protected]

# 测试gitlab
$ ssh -T [email protected]gitlab.com
时间: 2024-10-11 20:38:04

github和gitlab仓库一起使用的相关文章

GitHub & Bitbucket & GitLab & Coding 的对比分析

来源于:https://www.v2ex.com/t/313263 目前在代码托管和版本控制上的主流工具 — Git ,比较流行的服务有 Github . Bitbucket . GitLab . Coding ,他们各自有什么特点,个人使用者和开发团队又该如何选择? 在这篇文章中,我们以客观的态度,以问题作为出发点,介绍和比较 GitHub . Bitbucket . GitLab . Coding 在基本功能,开源与协作,免费与付费计划,企业解决方案,集成 flow.ci 等方面,让大家了解

octotree神器 For Github and GitLab 火狐插件

Code tree for GitHub and GitLabExtension to show code tree for GitHub and GitLab. Useful for developers who frequently read source and do not want to download or checkout too many repositories.Features: * Easy-to-navigate code tree like IDEs* Support

企业级gitlab仓库环境搭建

目录: 1.gitlab简介 2.安装配置gitlab 2.1.实验环境介绍 2.2.更改仓库存储位置 2.3.开启https访问 2.4.启用SMTP服务 3.GitLab的基本使用 4.备份及恢复 5.总结 1.gitlab简介 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务.GitLab拥有强大的功能,可实现git仓库管理,代码审查,问题跟踪,WIkI等功能,而且配合GitLab CI能更简单的实现持续集成和自动部署.GitLa

Git、GitHub、GitLab三者之间的联系以及区别

在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转) 1.什么是 Git? Git 是一个版本控制系统. 版本控制是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系统. 以前在没有使用版本控制的时候,我们通常在我们的项目根目录下这样命名项目: project_v1.project_v1.1.project_v2等等,通过这种方式记录我们项目的不同版本的修改, 有的时候我们还会在不同版本的文件中写一个说明,记录此版本项目新增.修改,删

gitLab的使用 和 git 、 github、gitlab的区别

一.git . github.gitlab的区别  (百度相关内容得到的理解) ? ? 二.git最基本作用:版本控制 ? 三.有集成了git的GIT安装包 github和gitlab都使用git该版本控制系统,来实现对代码的管理. 所以,原先怎么用git操作github的,那么用git操作gitlab是一样的. ? ?? https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git 三. 个人问了公司开发,并总

如何删除GitHub或者GitLab 上的文件夹

如何删除GitHub或者GitLab 上的文件夹 需求分析 假设小明有一天不小心把本地仓库的一个文件夹A推送到了远程GIT服务器(例如:github,gitlab,gitee)上,此时想删除远程仓库的文件夹A,但是本地又不想删除.小明于是去问小红,怎么办?小红不假思索的说,github,gitlab 不是可以删除吗?你直接在远程服务器上操作呀.小明告诉小红,你有所不知,远程操作只能操作单个文件,无法删除文件夹,你可不会傻到一个一个文件去删除.小红说,那怎么办呢? 解决办法 方法一 这里以删除 .

同一主机设置多个密钥与不同github账号关联,或同一主机同一密钥分别关联github和gitlab

前言 github一把公钥只能用于一个github账户,如果想在同一主机上给两个属于不同账户的仓库提交时,必须在本地创建两对公/私钥匙,分别把两把公钥给两个帐号. 或者有时候,你公司内部使用的gitlab,同时你个人又有github,你想用同一个公钥将仓库分别提交到github和gitlab. 多个密钥管理多个github/gitlab 1 生成密钥 生成第一把公钥: ssh-keygen -t rsa -C "kobe@email.com" # 设置名称为id_rsa_kobe En

Git、Github和GitLab的区别及与SVN的比较

个人理解: SVN适合领导啊,大家一起在加班,看你进度什么的,git则不必如此,忙完传上来完活. 一.含义: 百度上这样介绍的: Git(读音为/g?t/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitLab 是一个用于

gitlab仓库

目录 1.本章课程内容大纲 2.gitlab安装 2.1 配置gitlab的url 2.2 配置gitlab的邮箱 2.3关闭不用的程序 2.4 gitlab初始化 2.5 访问gitlab服务 2.6 验证邮箱功能是否可用 3.gitlab汉化 4.gitlab日常使用 1.git修改为ssh连接方式 2.gitlab备份 3.gitlab恢复 4.gitlab升级 5.gitlab迁移 5.gitlab总结 1.本章课程内容大纲 1.Gitlab版本库基本概述 ??1.什么是gitlab?