美文网首页测试框架轻松入门git学习系列笔记
亲测本地电脑同时配置gitlab和github账号

亲测本地电脑同时配置gitlab和github账号

作者: syp风中泪 | 来源:发表于2019-03-22 09:09 被阅读707次

简介

我自己的git账号属于GitHub, 公司使用的是GitLab,电脑已经配置了公司的GitLab账号了。虽然家里也有电脑,但是平时工作的一些总结什么的,想发到自己的GitHub上,所以,我就想在自己电脑上既能使用GitLab又能使用GitHub

思路

ssh 方式链接到 Github/GitLab,需要唯一的公钥,如果想同一台电脑绑定两个Github/GitLab 帐号,需要两个条件:
1. 能够生成两对 私钥/公钥
2. push 时,可以区分两个账户,推送到相应的仓库

解决方案

1. 生成 私钥/公钥 时,密钥文件命名避免重复
2. 设置不同 Host 对应同一 HostName 但密钥不同
3. 取消 git 全局用户名/邮箱设置,为每个仓库独立设置 用户名/邮箱

操作步骤

本操作步骤是在windows环境下操作的

1. 查看已生成的秘钥

git bash下输入命令 ls ~/.ssh/,看到 id_rsa 与 id_rsa_pub 则说明已经有一对密钥
$ ls ~/.ssh

image.png

生成新公钥

生成新的公钥,并命名为 id_rsa_gitlab (保证与之前密钥文件名称不同即可,文件名最好有意义,否则写后面的配置的时候写错文件名,我的文件名是id_rsa_gitlab)

我计划id_rsa用于github,id_rsa_gitlab用于gitlab

ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "yourmail@xxx.com"

如下图:


image.png

上面命令执行完,~/.ssh下就出现了"_gitlab"结尾的文件


image.png

配置config文件

.ssh 文件夹下新建 **config **文件并编辑,令不同 Host 实际映射到同一HostName,但密钥文件不同。Host 前缀可自定义:

# default                                                                       
Host github.com
HostName github.com
User songyp
IdentityFile ~/.ssh/id_rsa
# two                                                                           
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_rsa_gitlab

#Host myhost(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)[注意下面有缩进]
#User 登录用户名(如:git)
#HostName 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
#Port 服务器open-ssh端口(默认:22,默认时一般不写此行
#IdentityFile 证书文件路径(如~/.ssh/id_rsa_*)

我的配置如下:


image.png

使用SSH密钥连接Github

使用SSH密钥连接Github网上教程很多,这里不再赘述

测试 ssh 链接

ssh -T git@gitlab.com
ssh -T git@github.com
# Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
# 出现上边这句,表示链接成功

取消全局 用户名/邮箱设置,并进入项目文件夹单独设置

# 取消全局 用户名/邮箱 配置
git config –global –unset user.name
git config –global –unset user.email
# 单独设置每个repo 用户名/邮箱
git config user.email “xxxx@xx.com”
git config user.name “xxxx”

PS:
(1)git config命令要到工程目录下(反正就是git目录)执行,否则是出错的,下面就是不在git目录下执行的结果:后来我恍然大悟,然后切换到工程目录下执行就OK了。
(2)“单独设置每个repo 用户名/邮箱”这个步骤,我就是跑到工程下,执行git config user.emailxxxx@xx.com”和git config user.name “xxxx”命令。看来以后每次我GitHub/GitLab clone一个新的工程下来,都要在clone完成后,在这个工程目录下执行这两条语句来配置。【解决办法】:工作电脑平时使用公司的gitlab比较多,可以把公司的账户设置为全局,然后在单独的需要用别的账号的工程下配置对应的账号。这样就不用频繁地做这个配置。(这个全局设置与单独工程下设置地顺序不做要求)

最后

后边你就可以进行git操作了,如clone、push等

相关文章

  • 亲测本地电脑同时配置gitlab和github账号

    简介 我自己的git账号属于GitHub, 公司使用的是GitLab,电脑已经配置了公司的GitLab账号了。虽然...

  • mac 同时配置github和gitlab账号

    1.进入ssh文件夹 2.重新生成GitHub和GitLab对应的公/私密钥 3.此时目录下可以查看到生成的密钥文...

  • mac 同时配置github和gitlab账号

    1.进入ssh文件夹 2.重新生成GitHub和GitLab对应的公/私密钥 3.此时目录下可以查看到生成的密钥文...

  • Git本地用户信息配置的影响

    相关命令: 影响: 当本地配置的邮箱和你gitlab账号的邮箱一致时,不管你配置的用户名是否和gitlab账号的用...

  • git本地配置多账号

    一般为了方便本地git 同时支持公司的账号以及自己的github账号, 需要配置多账号支持,假设之前已经配置好了工...

  • gitee上的ssh配置

    SSH登录步骤:需要本地电脑生成一段密钥,然后去代码托管网站(Gitee、GitHub、Gitlab)中个人账号的...

  • GitLab & GitHub同时存SSH Key

    1.我们先配置Gitlab,至于怎么申请GItlab/GitHub账号怎么配置SSH key等等就不赘述了,这个不...

  • 基于GitLab的私有仓库一(组件化运用)

    配置前提:mac电脑/有安装cocopods/有GitLab账号并且最好有在GitLab上面配置ssh 咱们很多时...

  • 2020-10-27

    git配置同时使用github、码云、gitlab等多平台共存的开发环境 本文将介绍如何在一台电脑桌同时配置git...

  • Git和GitHub的关联

    1、本地Git和GitHub的链接(通过SSH Key配置) 1.1注册GitHub账号,安装Git (windo...

网友评论

    本文标题:亲测本地电脑同时配置gitlab和github账号

    本文链接:https://www.haomeiwen.com/subject/anpkvqtx.html