• Git一台电脑同时绑定两个账号(如gitlab,github)


    生成两对公/私钥

    // ~/.ssh/"用户定义的公钥私钥名称"
    
    ssh-keygen -t rsa -C "注册的github邮箱" -f ~/.ssh/github_id_rsa
    // 执行命令后,在~/.ssh/目录中会生成github_id_rsa和github_id_rsa的私钥和公钥
    
    ssh-keygen -t rsa -C "注册的gitlab邮箱" -f ~/.ssh/gitlab_id_rsa
    // 执行命令后,在~/.ssh/目录中会生成gitlab_id_rsa和gitlab_id_rsa的私钥和公钥
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    ~/.ssh目录一般在系统C盘的用户目录下

    创建config

    在~/.ssh下创建config文件,在Windows下可以鼠标右键创建没有后缀名的文件

    cd ~/.ssh
    touch config
    
    • 1
    • 2

    添加如下代码配置

    #company 公司
    Host gitlab.com
    Port 22
    User git
    HostName 10.1.10.70
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id_rsa
    
    #self 自己
    Host git@github.com   
    Port 22
    User git
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa
    
    #self1 可以自己配置多个
    Host github.com    
    Port 22
    User git
    HostName git@github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • Host “名称” (用户自己定义的host简称,用于后面连接远程服务器可以用命令 ssh “名称”)
    • Port 服务器open-ssh端口(默认:22,默认时一般不写执行,可不配置)
    • User 登录用户名(一般写git即可,可不配置)
    • HostName 主机名,可以用ip也可以是域名(github或者gitlab的Https,或者SSH中的部分)
    • IdentityFile 生成的钥匙文件路径
    • PreferredAuthentications 验证方式支持密码和秘钥验证方式(上面是强制使用publickey 验证)

    将.pub中的密钥分别复制到相对应的github和gitlab的SSH and GPG keys上

    在这里插入图片描述

    测试是否配置成功

    ssh -T git@github.com
    ssh -T git@gitlab.com
    
    • 1
    • 2

    在这里插入图片描述

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

    git config --global --unset user.name 
    git config --global --unset user.email
    
    //单独设置是github的项目还是gitlab的项目文件夹下设置
    git config user.email "xxx@.com"
    git config user.name "xxx"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    设置成功后,可以使用新建文档测试一下能否push成功,成功则配置成功。搞定收工。

    根据账户使用级别来设置优先级

    在实际使用中如果在公司电脑,公司仓库使用频率是最频繁,自己的私人github使用频率较少。则需要根据不同的状况进行配置,比如:

    1. 用户级别配置,因为公司的代码使用频率较高,所以我们将git配置文件的global(用户级别)设置为公司的gitlab账号,在gitlab中的使用。
    git config --global user.name
    git config --global user.email
    
    • 1
    • 2
    1. 自己的github使用比较少,使用local(仓库级别)配置github账号。只有在相对应的仓库才能使用
    git config --local user.name
    git config --local user.email
    
    • 1
    • 2
  • 相关阅读:
    Django框架简介
    0基础学习VR全景平台篇 第99篇:百度地图如何上传全景图
    (208)Verilog HDL:时钟双沿触发器
    Spring5之IOC容器的底层原理简单理解
    双十一运动装备选购清单,今年最值得入手的运动好物
    Spring Boot 集成freemarker模板引擎
    Linux - netstat 查看系统端口占用和监听情况
    机器学习笔记之变分推断(五)重参数化技巧
    安装Ambari集群MySQL_大数据培训
    Java基础数组-选择排序算法
  • 原文地址:https://blog.csdn.net/richardli1228/article/details/126179081