美文网首页
2020-10-27

2020-10-27

作者: 品茗听雨轩 | 来源:发表于2020-10-27 11:40 被阅读0次

    git配置同时使用github、码云、gitlab等多平台共存的开发环境


    本文将介绍如何在一台电脑桌同时配置github、gittee、gitlab等多个平台共存,实现不切换账号即可clone、push仓库代码。

    01 前言

    在开发的时候,代码经常会区分个人仓库和公司仓库,目前个人最常用的就是码云和gitlab,相对而言,github访问太慢了,还是比较喜欢码云,有时候会同时使用二者,但是在提交代码的时候如何做到自动识别git平台,自动切换到对应的ssh秘钥呢,这篇文章会详细介绍

    02 配置git多平台共存

    (1)清除 git 的全局设置(针对已安装 git) 新安装 git 跳过。 若之前对 git 设置过全局的 user.name 和 user.email。(用git config --global --list进行查看你是否设置) 必须删除该设置(git config --global --unset user.name "你的名字" git config --global --unset user.email "你的邮箱")

    (2)配置git肯定首先要生成秘钥SSH keys ,下面演示码云和gitlab的配置,github也是同理。

    1)GitHub 的钥匙 指定文件路径,方便后面操作:~/.ssh/id_rsa.gitlab 

    ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "lx@qq.com" 

    直接回车3下,什么也不要输入,就是默认没有密码。

    注意 github 和 gitlab 的文件名是不同的。

    1)GitLab 的钥匙 

    ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "lx@vip.qq.com" 

    2)Gitee 的钥匙 

    ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "lx@vip.qq.com" 

    3)完成后会在~/.ssh / 目录下生成以下文件 

    id_rsa.github 

    id_rsa.github.pub 

    id_rsa.gitlab 

    id_rsa.gitlab.pub 

    4)添加识别 SSH keys 新的私钥 

    默认只读取 id_rsa,为了让 SSH 识别新的私钥,需要将新的私钥加入到 SSH agent 中 $ ssh-agent bash $ ssh-add ~/.ssh/id_rsa.github $ ssh-add ~/.ssh/id_rsa.gitlab $ ssh-add ~/.ssh/id_rsa.gitee

    03 多账号必须配置 config 文件(重点)

    若无 config 文件,则需创建 config 文件 创建config文件 $ touch ~/.ssh/config config 里需要填的内容 亲测可以不缩进,所以方便看,建议缩进。

    Default gitHub user Self

    Host github.com

    HostName github.com

    User git #默认就是git,可以不写

    IdentityFile ~/.ssh/id_rsa.github

    Add gitLab user

    Host47.105.225.224

    HostName47.105.225.224

    User git

    IdentityFile~/.ssh/id_rsa.gitlab

    gitee

    Host gitee.com

    HostName gitee.com

    User git

    IdentityFile ~/.ssh/id_rsa.gitee

    其他自己搭建的

    Host git@git.startdt.net

    Port22

    HostName http://git.startdt.net

    User git

    IdentityFile~/.ssh/lab_rsa.startdt

    (因咱们的git域名和下载的路径不匹配,所以配置里面使用的域名配置,根据个人情况更改ip或者域名)

    5.在 github 和 gitlab gitee网站添加 ssh(该部分内容不在赘述)

     6.测试是否连接成功 

    由于每个托管商的仓库都有唯一的后缀,比如 Github 的是 git@github.com:*。 

    所以可以这样测试: ssh -T git@github.com 

    而 gitlab 的可以这样测试: ssh -T git@gitlab.corp.xyz.com(验证我们华创自己的配置请输入 ssh -T git@47.105.225.224) 

    如果能看到一些 Welcome 信息,说明就是 OK 的了 

    ssh -T git@github.com 

    ssh -T git@gitlab.com 

    ssh -T git@gitee.com 

    结果如果出现这个就代表成功: 

    GitHub -> successfully 

    GitLab -> Welcome to GitLab 

    Gitee -> successfully

    相关文章

      网友评论

          本文标题:2020-10-27

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