• 在windows上配置git支持多账号


    1.背景

    现在大多数人都采用git进行版本管理,在git下面进行开发被越来越多的程序员所接受。还有越来越多的人参与开源社区的建设。现在有一个问题就是,在windows环境下,如何在git客户端上通过ssh key的方式配置多个账号。不需要输入git的用户名和密码,使得更加方便高效。

    2. SSH Key的生成

    在windows上打开git的bash客户端命令行窗口:
    在这里插入图片描述
    之后执行ssh-keyget,生成rsa的公钥和私钥。

     ssh-keygen -t rsa -C mail@mail.com
    
    • 1

    执行结果如下:
    在这里插入图片描述

    生成的文件命名为 id_rsa_gitlab
    私钥的密码可以不用设置,也可以根据个人情况进行设置。生成之后,在所执行命令的目录下会生成两个文件:

    id_rsa_gitlab
    id_rsa_gitlab.pub
    
    • 1
    • 2

    这两个文件截图如下:
    在这里插入图片描述

    用其他的方式可以生成所需的公钥和私钥对。邮箱尽量和git账号的邮箱保持一致,这样也便于以后区分。

    3.gitlab配置

    在gitlab上,账户的Settings中进行配置:
    在这里插入图片描述

    在左侧的sshKey中:
    在这里插入图片描述

    将公钥中的文本内容copy到下列位置:

    在这里插入图片描述

    copy之后如下:
    在这里插入图片描述

    title可以自定义配置。

    github中的配置也与上述类似:
    在这里插入图片描述

    添加ssh key:
    在这里插入图片描述

    1. windows本地的git配置
      首先需要将生成的公钥和私钥对,copy到当前用户的.ssh目录中去。
    windows中位于如下目录:
    #windows
    C:\Users\username\.ssh
    #linux
    /home/username/.ssh
    
    • 1
    • 2
    • 3
    • 4
    • 5

    copy之后,,ssh中的文件:
    在这里插入图片描述

    其中,id_rsa是github的密钥对。id_rsa_gitlab是gitlab的密钥对。
    config文件是本文的关键,这个文件需要手动新建,其内容如下:

    # 配置github.com
    Host github.com                 
        HostName github.com
        IdentityFile C:\\Users\\username\\.ssh\\id_rsa
        PreferredAuthentications publickey
        User github_username
    
    # 配置gitlab私服
    Host git.xxxx.cn
        HostName git.xxxx.cn
        IdentityFile C:\\Users\\username\\.ssh\\id_rsa_gitlab
        PreferredAuthentications publickey
        User gitlab_username
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    上述username为windows用户的当前用户名。
    github_username 为github上的username.
    gitlab_username 为gitlab本地私服的username.
    配置完成之后,对上述配置进行测试,测试命令:

    ssh -T git@github.com
    
    • 1

    测试结果如下:
    在这里插入图片描述

    测试成功即表明配置成功,两个git能够访问。
    可以查看know_hosts文件发现,配置的githost已经被自动添加了。
    在这里插入图片描述

    后面就可以愉快的拉代码了。

  • 相关阅读:
    【达摩院OpenVI】视频目标渐进式Transformer跟踪器ProContEXT
    C语言打印菱形
    ValueError: Index contains duplicate entries,cannot reshape
    阿里云服务器经济型e实例租用价格和CPU性能测评
    Redis/Mysql知识概述
    浅谈薄膜行业MES解决方案
    OpenLayer系列——【一】初识OpenLayer与OpenLayer视图操作
    node exec(“clip“) 复制到剪切板 乱码
    路由vue-route的使用
    2.3 为何使用Pthreads
  • 原文地址:https://blog.csdn.net/dhaibo1986/article/details/125899956