git 用不同的邮箱配置不同的ssh

首先,介绍一下配置背景:
1.有两个邮箱A@mail.com  , B@mail.com
2.两个git账号,一个公司gitlab上的A@mail ,另一个github上的B@mail
3. 目标:提交公司任务到gitLab 上,自己写的代码提交到github上
 
介绍配置过程:
1. 检查是否设置了全局user.name ,user.email ,如果设置了就取消
   取消步骤:1> git config -- global --unset user.name
                2> git config --global --unset user.email
2.配置两个不同邮箱下的ssh
  1> 生成key命令   ssh-keygen - t rsa -C "your_email"
  2>会提示你输入文件名,可以输入对应的网址的名称,比如id_rsa_gitlab
  3>这样,会生成两个文件,比如id_rsa_gitlab,id_rsa_gitlab.pub
  4> 重复以上步骤,生成id_rsa_github,id_rsa_github.pub
 
3.配置config 文件
Host XXXX
HostName XXXX(github).com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
Host XXXX
hostName XXX(gitlab).com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
 
4.添加密钥到ssh
   ssh-agent 是用来控制保存公钥身份证所使用的私钥的程序,
   其实ssh-agent 就是一个密钥管理器,运行ssh-agent以后,
   使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的
   时候,可以将验证申请交给ssh-agent来完成整个认证过程.
  这个过程在终端输入: ssh-agent bash
                              ssh add/Users/XX/.ssh/id_rsa_gitlab(此处add后边是id_rsa_gitlab的绝对路径)
                
 
原文地址:https://www.cnblogs.com/tangranyang/p/5229300.html