同时使用gitHub和gitLab

一,生成ssh密钥并配置

分别对gitlab和github生成对应的密钥(默认情况下本地生成的秘钥位于C:/Users/用户名/.ssh/)

1,生成gitlab密钥并配置

  • 电脑开始菜单中找到已安装的gitbash并打开,输入命令:

    ssh-keygen -t rsa -C "公司邮箱地址"

    按回车,再按3次enter键,生成对应的gitlab密钥:id_rsa和id_rsa.pub

jerry@Jerry MINGW64 ~
$ ssh-keygen -t rsa -C "60xxxxx@qq.com" -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/jerry/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/jerry/.ssh/id_rsa
Your public key has been saved in /c/Users/jerry/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:58T8LFOv9JZrA7Z2ghVVSCKKs+dx1UwuZiG/pq9wEQU 604637883@qq.com
The key's randomart image is:
+---[RSA 4096]----+
|          E.+.oo.|
|       . . = Bo  |
|      o . . *.+  |
|       o o =.o   |
|      . S B +.   |
|       o * B+.   |
|        o *++o.. |
|         o.=+o*  |
|          .oo=oo |
+----[SHA256]-----+

将gitlab公钥即id_rsa.pub(Windows下路径为C:/Users/用户名/.ssh/)中的内容配置到公司的gitlab上。

操作步骤如下图。用记事本打开id_rsa.pub,复制有所内容,粘贴到4里;5中标题可任意输入。

1213182-20200811171134726-1223274988.png

2,生成gitlab密钥并配置

  • 在gitbash中输入命令:

    ssh-keygen -t rsa -C "github邮箱地址" -f ~/.ssh/github_rsa

  • 生成对应的github密钥:github_rsa和github_rsa.pub

jerry@Jerry MINGW64 ~
$ ssh-keygen -t rsa -C "604637883@qq.com" -f ~/.ssh/github_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/jerry/.ssh/github_rsa
Your public key has been saved in /c/Users/jerry/.ssh/github_rsa.pub
The key fingerprint is:
SHA256:DvG4umzBRa3gCht0hB9YclwE8SCXoDgGx01IuC/zsfE 604637883@qq.com
The key's randomart image is:
+---[RSA 3072]----+
|.BX%Bo .         |
|==B== . .        |
|=oo..+..         |
|=. .. o+         |
| = o .o S        |
|+ = o  +         |
| + = .. .        |
|  o.E.           |
|   .+.           |
+----[SHA256]-----+
  • 将github公钥即github_rsa.pub中的内容配置到自己的github上。操作步骤如下:


    image.png

    打开github_rsa.pub,复制有所内容,填入后点击“Add SSH key”按钮。接着可能会跳转页面需要输入你的GitHub密码,输入确定即可。


    1213182-20200811171229765-156685640.png

3,配置git,访问不同host时访问不同的密钥

  • 进入密钥生成的位置(C:/Users/用户名/.ssh/),手动创建一个config文件(注意这个config文件要无后缀)。

  • 在新建的config文件里面配置如下内容:

    # 自己的github账号配置
    Host github.com
        port 22
        User git
        HostName github.com
        PreferredAuthentications publickey
        IdentityFile C:\Users\jerry\.ssh\github_rsa
    
    # 公司的gitlab账号配置(HostName为公司的gitlab地址)
    Host gitlab.com
        port 22
        User git
        HostName gitlab.xxx.com
        User git
        PreferredAuthentications publickey
        IdentityFile C:\Users\jerry\.ssh\id_rsa
    

    字段配置简单说明:

    Host
        Host可以看作是一个你要识别的模式,对识别的模式,配置对应的主机名和ssh文件
    Port
        自定义的端口。默认为22,可不配置
    User
        自定义的用户名,默认为git,可不配置
    HostName
        真正连接的服务器地址, 公司可能为仅数字IP ,如192.168.41.203
    PreferredAuthentications
        指定优先使用哪种方式验证,支持密码和秘钥验证方式
    IdentityFile
        指定本次连接使用的密钥文件
    

设置HostName时需要注意,复制公司gitlab或者自己的github地址时,需要把"https://"去掉,只保留github.com部分。

二,验证是否设置成功

在C:/Users/用户名/.ssh中,右键打开Git Bash Here,分别输入命令:

# 测试github
ssh -T git@github.com

# 测试gitlab(@符后面的为公司gitlab地址)
ssh -T git@192.168.xx.xxx

如下图所示则说明配置成功

jerry@Jerry MINGW64 ~
$ ssh -T git@github.com
The authenticity of host 'github.com (20.205.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7xxxxxxxxxxxxxxxARLviKw6E5SY8.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
Hi yangjian1218! You've successfully authenticated, but GitHub does not provide shell access.

jerry@Jerry MINGW64 ~
$ ssh -T git@192.168.xx.xxx
The authenticity of host '192.168.xx.xxx (192.168.xx.xxx)' can't be established.
ED25519 key fingerprint is SHA256:Ib8w8v6Cu5xxxxxxxxxxx34zDifjGQo84X5Y.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.xx.xxx' (ED25519) to the list of known hosts.
Welcome to GitLab, 杨健!

三,git仓库配置

1,简介

在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类:
仓库级别 local 【优先级最高】
用户级别 global【优先级次之】
系统级别 system【优先级最低】

  • git 仓库级别对应的配置文件是当前仓库下的.git/config 【在当前目录下.git目录默认是隐藏的,所以在文件管理器中我们要打开显示以藏文件】


    1213182-20200811171543448-1343147572.png
  • image-20211104104132089.png

    git 用户级别对应的配置文件是用户宿主目录下的~/.gitconfig 【宿主目录:C:\Users\jerry】

  • git系统级别对应的配置文件是git安装目录下的 /etc/gitconfig

    简单了解后我们就可以进行配置了

2,配置

  • 用户级别配置

    用户级别是配置公司gitlba账号还是自己github账号,可以自由选择。因为平常使用公司的代码频率较高,所以我选择将gitlab账号配置成用户级别。gitBath下执行如下命令:

git config --global user.name '杨健' #公司账号名称
git config --global user.email '604637883@qq.com' #公司账号邮箱
  • 仓库级别配置

    local(仓库级别)配置成github的账号。选择一个文件夹作为github的本地仓库,在该文件夹里鼠标右键打开Git Bash Here,执行命令:git init

    再执行命令:

git config --local user.name 'yangjian1218'  #github账号名称
git config --local user.email '604637883@qq.com'  #github账号邮箱
之后自己的github的代码都应该在这个仓库下进行pull、push操作。

3.切换账号

如果之前已经上传过代码到其中一个账号,需要上传到另一个账号中,如之前已经上传到gitLab,现在要切换到github中,先要解除设置.

$ git remote rm origin

不然会报错:error: remote origin already exists.

或者直接删除.git文件夹.

添加账号(这一步可省略,)

git config --local user.name 'yangjian1218'  
git config --local user.email '604637883@qq.com' 

再添加远程git仓库

$ git remote add origin https://github.com/yangjian1218/Face-Updown-classify.git

[参考]https://www.cnblogs.com/lfr0123/p/13477001.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容