美文网首页
优雅地配置多个git账号

优雅地配置多个git账号

作者: quanCN | 来源:发表于2021-08-28 14:19 被阅读0次

    前言

    网上很多文章都是针对多个git账号,但是这些git都是一个平台对应一个git账号,但是如果一个平台对应多个账号不会有效地解决问题

    前提

    最好是同一平台有多个账号,这样更能有效的测试

    本地生成SSH-Key

    • 生成一个github用的ssh-key,账户a
      ssh-keygen -t rsa -C 'a@163.com' -f ~/.ssh/github_id_rsa_a
    • 生成一个github用的ssh-key,账户b
      ssh-keygen -t rsa -C 'b@163.com' -f ~/.ssh/github_id_rsa_b
    • 生成一个gitee用的SSH-Key
      ssh-keygen -t rsa -C 'mmm@163.com' -f ~/.ssh/gitee_id_rsa

    :默认情况linux/mac会在~/.ssh/创建

    git平台设置

    将对应的.pub文件中内容复制到相应的平台SSH设置中

    config文件

    • ~/.ssh/进行如下配置
      Host gitlab.com
      HostName gitlab.com
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/gitee_id_rsa
      
      Host github.com
      HostName github.com
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/github_id_rsa_a
      
    • 验证
      ssh -T git@github.com
      ssh -T git@gitlab.com
      
    • 问题这时已经可以保证多个平台都保存一个用户,但是仍然没有解决一个平台多个用户

    利用脚本

    • switchGit.sh
      #!/bin/bash
      if [[ $1 == 'a' ]]; then
          echo 'use a account'
          echo 'Host github.com
      HostName github.com
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/github_id_rsa_a' > /Users/redhat/.ssh/config
      fi
      
      if [[ $1 == 'b' ]]; then
          echo 'use b account'
          echo 'Host github.com
      HostName github.com
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/github_id_rsa_b' > /Users/redhat/.ssh/config
      fi
      ssh -T git@github.com
      
    • 执行
      ./switchGit.sh a
      

    相关文章

      网友评论

          本文标题:优雅地配置多个git账号

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