• 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
  • 相关阅读:
    【秋招基础】【2】笔试笔记
    axure入门
    【开发小记】vuex存储用户信息
    【老生谈算法】matlab实现香农编码源码——香农编码
    go 环境安装
    解决adb root命令时错误 adbd cannot run as root in production builds
    MySQL 操作语句大全(详细)
    Servlet详细教程
    【软考 系统架构设计师】软件架构设计④ 基于架构的软件开发方法
    .NET周刊【6月第1期 2024-06-02】
  • 原文地址:https://blog.csdn.net/richardli1228/article/details/126179081