1 背 景

在公司上班的员工会同时拥有两个git账号, 一个是公司内部的, 仅允许工作时使用; 另一个是个人的, 常用于日常的学习记录. 此时, 面临的问题是如何在一台电脑(客户端)上正常使用两个账号?

系统: MacBook Pro

2 方案

  1. 不可再通过全局user.name和user.email来使用
  2. 配置多个账号的ssh密钥实现多账号的使用

3 操作流程

3.1 删除用户配置信息

删除全局配置中的用户信息, 文件: ~/.gitconfig

[user]
name = ***
email = ***

3.2 生成两组密钥分别存储于不同文件

# 一路回车, 直到结束, 生成第一组密钥, 存储文件为: ~/.ssh/id_rsa 和 ~/.ssh/id_rsa_pub
ssh-keygen -t rsa -C "email_1" # 指定新的密钥存储文件, 生成第二组密钥
ssh-keygen -t rsa -C "email_2"
# 指定存储的文件名, 生成的文件为: ~/.ssh/id_rsa_github 和 ~/.ssh/id_rsa_github_pub
~/.ssh/id_rsa_github

生成的目录结构

~/.ssh
├── id_rsa
├── id_rsa.pub
├── id_rsa_github
└── id_rsa_github.pub

3.3 分别在相应网站上添加公钥

  1. id_rsa.pub
  2. id_rsa_github.pub

3.4 配置私钥对应的服务器

文件~/.ssh/config

添加如下内容:

Host 公司的git
HostName 公司的git
User git
IdentityFile ~/.ssh/id_rsa # 对应的私钥 Host git@github.com # 个人的git
HostName https://github.com # 个人的git
User git
IdentityFile ~/.ssh/id_rsa_github # 对应的私钥

3.5 测试

$ ssh -T git@github.com
Hi zhouweixin! You've successfully authenticated, but GitHub does not provide shell access.

TODO 为什么仍然需要配置用户信息才可使用

git config --local user.email 1216840597@qq.com
git config --local user.name zhouweixin

参考

同一客户端下使用多个git账号

git多账号使用的更多相关文章

  1. git多账号登录问题

    作者:白狼 出处:http://www.manks.top/git-multiply-accounts.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文 ...

  2. Windows下Git多账号配置,同一电脑多个ssh-key的管理

    这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作. <Git-Tort ...

  3. Windows下配置Git多账号github码云

    Windows下配置Git多账号github码云 1.配置了全局用户名和邮箱 $ git config --global user.email "你的邮箱" $ git confi ...

  4. 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理

    Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...

  5. Linux让git记住账号密码

    Linux让git记住账号密码 ——IT唐伯虎 摘要: Linux让git记住账号密码. 1.进入根目录,指令:cd / 2.创建记录账号密码的文件,指令:touch .git-credentials ...

  6. Windows下Git多账号ssh-key(复制自己用)

    Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下 ...

  7. Git多账号登陆

        最近工作上遇到了使用git+repo的情况,需要用公司的邮箱和账号名重新申请ssh公私密钥,而我本身在github上也有一些开源项目,这里就是记录一下我是如何实现git多账号登陆的.   取消 ...

  8. Git多账号配置

    在一台电脑上配置多个不同的 ssh key 前言 如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key. ...

  9. git多账号配置,同时使用多个代码托管平台

    git多账号配置,同时使用多个代码托管平台:https://blog.csdn.net/pinnuli/article/details/81293071

  10. mac 中git操作账号的保存与删除

    保存: 在mac中自动保存git的用户名和密码很简单,只需要在终端命令行中输入下面的命令就是: git config --global credential.helper osxkeychain 然后 ...

随机推荐

  1. [leetcode/lintcode 题解] 微软面试题:公平索引

    现在给你两个长度均为N的整数数组 A 和 B. 当(A[0]+...A[K-1]),(A[K]+...+A[N-1]),(B[0]+...+B[K-1]) 和 (B[K]+...+B[N-1])四个和 ...

  2. 数据结构C++实现邻接矩阵存储图

    定义邻接矩阵存储的图类.[实验要求] 1. 创建一个邻接矩阵存储的图: 2. 返回图中指定边的权值: 3. 查找图中某顶点的第一个邻接顶点.某顶点关于另一个顶点的下一个邻接顶点序号: 4. 图的深度优 ...

  3. python关于函数调用作为参数的说明&&装饰器

    python关于函数调用作为参数的说明&&装饰器 简单的: 先看代码: def out(): print('out') def inner(): return 'inner' retu ...

  4. 代码备忘录--常用的一些Doxygen格式

    1.文件头的格式: /** **************************************************************************** * @file x ...

  5. windows 下 安装 RabbitMQ

    RabbitMQ是一个在AMQP协议标准基础上完整的.可复用的企业消息系统.它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器.它扮演 ...

  6. Springboot + Rabbitmq + WebSocet + vue

    1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  7. pypcap rpm制作

    1.下载地址 https://pypi.org/project/pypcap/#history 2.下载后,解压并制作rpm tar -xvf pypcap-1.2.3.tar.gz python s ...

  8. centos AAVMF_CODE.fd 文件下载

    centos: yum install AAVMF -y ubuntu: apt-get install qemu-efi*

  9. springSecurity初识-练气初期

    1.写在前面 Spring Security是一个框架,提供针对常见攻击的身份验证,授权和保护.通过对命令式和反应式应用程序的一流支持,它是保护基于Spring的应用程序的事实标准. Spring S ...

  10. 仿京东BOE官网 jQuery代码

    $(function() { $("#chanping").mouseenter(function() { $("#column").slideDown(500 ...