• Git 的这个神技,学会爽歪歪~


    640?wx_fmt=jpeg

    现在大多数公司都有 GIT 来管理代码版本控制了,既然用到 GIT,相信大家都接触过 Github、Gitlab、Gitee 这些远程仓库,或者是公司内部自行搭建的 GIT 仓库。

    当用到 SSH 方式来连接 GIT 仓库的时候,难免会同时用到多个仓库,一般生成公私钥的默认配置文件为:

    • 私钥:C:Usersxxx.sshid_rsa

    • 公钥:C:Usersxxx.sshid_rsa.pub

    那么问题来了,我先生成 Github 的,再生成 GitLab 的,那么后面配置的 Gitlab 的公私钥文件会覆盖前面配置 Github 的,从而导致 Github 仓库无法连接。。

    这样的配置只能同时连接一种类型的仓库,如何在同一台电脑做到同时连接多个不同的仓库呢?

    一、生成多个仓库公私钥

    1、生成 Github 的:

    ssh-keygen -t rsa -b 4096 -C "your_email@github.com" -f ~/.ssh/github_id_rsa

    2、生成 Gitlab 的:

    ssh-keygen -t rsa -b 4096 -C "your_email@gitlab.com" -f ~/.ssh/gitlab_id_rsa

    后面有多个仓库都依此类推,用 -f 来指定不同的文件名称:xxx_id_rsa,从而区分不同的仓库类型,而不用担心被后面默认生成的覆盖。

    二、将公钥添加到仓库里面

    复制 xxx_id_rsa.pub 公钥文件里面的内容到对应仓库里面,以下 Github 示例:

    640?wx_fmt=png

    三、添加 config 配置

    ~/.ssh 目录下创建 config 文件,添加以下内容:

    # github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa
    
    # gitlab
    Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id_rsa
    
    # 多个依此类推
    # ...
    

    四、测试连通性

    分别测试多个仓库的连通性,验证配置是否生效。

    1、测试Github:

    $ ssh -T git@github.com

    2、测试Gitlab:

    $ ssh -T git@gitlab.com

    以下是 Github 连通示例:

    $ ssh -T git@github.com
    Enter passphrase for key '/c/Users/xxx/.ssh/github_id_rsa':
    Hi javastacks! You've successfully authenticated, but GitHub does not provide shell access.
    

    这样配置完,我们就能愉快的使用各种不同的仓库了~

    - END -

    推荐阅读:

    关注Java技术栈公众号在后台回复:git,可获取一份栈长整理的最新 Git 技术干货。

    640

    点击「阅读原文」和栈长学更多~

  • 相关阅读:
    windows下python3.6环境搭建
    接口自动化(2)----如何编写接口自动化用例
    关于接口自动化测试的规则说明
    linux 常用命令 补充
    linux 常用命令
    linux 初识
    java高级教程 JDK代理和CGLIB代理两种方式 账户类
    java高级教程 实例化和非实例化 bean 学生信息
    java高级教程 俩数之和
    C++使用printf输出string类
  • 原文地址:https://www.cnblogs.com/java-stack/p/11952032.html
Copyright © 2020-2023  润新知