1. 生成两[三]个ssh公钥私钥

方法参照:http://www.cnblogs.com/fanbi/p/7772812.html第三步骤

假定其中一个是id_rsa, 另一个时id_rsa_two [,第三个是id_rsa_gitlab]。

2. 复制公钥

把生成好的ssh的公钥相对应复制到github[/gitlab]的settings中的SSH and GPG keys

3. 配置config文件

如果在~/.ssh/下没有config文件,可以touch config

   ##可缺省,此时ssh -T git@github.com,默认就是和拥有id_rsa.pub的github账号对接。
#github server one
Host github #域名地址的别名
Hostname github.com #这个是真实的域名地址
User git #配置使用用户名
IdentityFile ~/.ssh/id_rsa #这里是id_rsa的地址

#github server two
Host github_two
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_two

##如果有第三个或者更多
#gitab server
Host gitlab
Hostname gitlab.com
User git
IdentityFile ~/.ssh/id_rsa_gitlab​

4. 测试

ssh -T git@gihub
#如果配置正确会提示
Hi your name one in github ! You've successfully authenticated, but GitHub does not provide shell access.

ssh -T git@gihub_two
#如果配置正确会提示
Hi your name two in github ! You've successfully authenticated, but GitHub does not provide shell access.

ssh -T git@gitlab
#如果配置正确会提示
Welcome to GitLab, Your GitLab nickname! 

5. Clone 项目到本地

在工作目录下,首先先git init,然后才能使用git命令clone项目到本地

   #之前的方式:单个账号
git clone git@github.com:firstAccount/xxx.git #缺省config配置时
git clone git@github:firstAccount/xxx.git #config配置后,等价于第一条语句
#现在要改为,git clone git@域名别称:用户名/项目名
git clone git@github_two:secondAccount/xxx.git //就是使用域名地址的别名来区分
git clone git@gitlab:gitlabAccount/xxx.git

6. 配置本地git用户名和邮箱(非必须项)

如果首次push repo没有配置git的账号和邮箱,可以如下配置

   #全局配置
git config --global user.name "Your name"
git config --global user.email your_email@gmail.com

##非必须项
#局部配置,如果没有局部配置,默认用全局配置否则优先使用局部配置
cd ~/workspace/github_two/
git init
git config user.name "Your name"
git config user.email your_email@gmail.com

7. 小结

此篇文章是自己通过网上查询然后自己实践总结而得。由于本人知识有限,难免总结得很完整,如果读者遇到什么问题,欢迎留言讨论,共同学习。

8. 参考资料

一台电脑,两个及多个git账号配置的更多相关文章

  1. 同一台电脑使用多个ssh连接git,出现权限不够的问题

    在本地使用多个ssh连接git时出现如下错误: Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 当一台电脑上同时使用多个ssh k ...

  2. 在一台电脑上,添加多个Git的ssh key

    Git的第一套公秘钥默认名为 id_rsa ,如果你想要生成另外一个公钥,比如 aysee ,你也可以使用任何你喜欢的名字. 步骤如下:(总共四大操作) 一.生成ssh key 1.生成一个新的自定义 ...

  3. 一台电脑上同启动两个Tomcat的方式,windows/Linux配置。

     安装两个jdk,一个JDK路径在:C:\ProgramFiles (x86)\Java\jdk1.7.0_25,另外一个JDK的路径在E:\UCMSServer\j2sdk 在环境变量里并设置J ...

  4. git同时存在两个账号(在同一台电脑上)——三步完成

    目录 1.首先是常规设置 2.同时添加两个账号 3.最后一步,配置~/.ssh/config文件 4.补充:有时因为设置了全局账号,因此需要清除 由于本人有连个git账号,个人github账号和公司g ...

  5. Python_架构、同一台电脑上两个py文件通信、两台电脑如何通信、几十台电脑如何通信、更多电脑之间的通信、库、端口号

    1.架构 C/S架构(鼻祖) C:client  客户端 S:server  服务器 早期使用的一种架构,目前的各种app使用的就是这种架构,它的表现形式就是拥有专门的app. B/S架构(隶属于C/ ...

  6. 如何在同一台电脑上使用两个github账户(亲测有效)

    1 前言 由于有两个github账号,要在同一台电脑上同步代码,需要给每一个账号添加一个SSH public key,此时推送时git push origin,不知道是哪个账号的远程仓库名称,所以需要 ...

  7. git学习笔记:一台电脑上配置两个git账户

    如何在一台电脑上配置两个git账户,现在云端仓库很多,有开源中国的 gitee.com 微软的 github.com 还有 gitlab.com 和 bitbucket.org 等等,下面是具体步骤 ...

  8. Cisco Packet Tracer中两台电脑通信设置

    Cisco Packet Tracer是网络初学者仿真模拟网络环境的必备工具.今天我们来模拟下两台电脑之间的通信. Cisco Packet Tracer版本6.2.0 一.添加设备 1.这里添加一个 ...

  9. 使用TCP在同一台电脑上可以建立连接,在两台电脑上却连接失败的原因分析

    最近在用unity做联机游戏,在网络方面费了不少劲,总是在代码没问题的时候出一些莫名奇妙的BUG,不过后来都决定了.如果感觉代码没问题,八成就是防火墙的问题. 用unity发布后的游戏,如果涉及网络, ...

随机推荐

  1. Qsort(c)_Sort(c++)用法

    Sort函数(c) (来自codeblocks) stdlib.h _CRTIMP void __cdecl qsort(void*, size_t, size_t, int (*)(const vo ...

  2. Optional与Mybatis能否一起

    1.mybatis的@Param()参数传递的问题,与JDK1.8的Optional的返回值问题.使用Optional与spring-data-jpa和mybatis有啥区别? 使用spring-da ...

  3. Date对象常用方法

    年月日: var oDate = new Date() //年 oDate.getFullYear(); //月 返回的月份要+1才正常 oDate.getMonth()+1: //日 oDate.g ...

  4. 安装使用hibernate tools

    help-Eclipse marketplace-hibernate(搜索)-jboss tools(安装)

  5. my phone blackberry classic / passport / priv / keyone

    smy blackberry classic PIN: 2BF66A72 / 查看手机位置https://protect.blackberry.com/protect/mydevice#BlackBe ...

  6. rabbitmq用户授权

    创建用户 rabbitmqctl add_user kye01 123456 设置用户角色 rabbitmqctl set_user_tags kye01 monitoring 查看用户清单 rabb ...

  7. webapi框架搭建-webapi异常处理

    webapi框架搭建系列博客 前言 上一篇我们已经完成了项目的日志管理,在项目开发中日志会经常记录程序中的异常,供后续问题排查使用.本篇讲如何在webapi里加入异常处理机制. 目的和原则 1.程序任 ...

  8. JAVA-大白话探索JVM-类加载过程(二)

    首先我们知道JVM是什么以及类加载器的作用 不清楚的可以看看JAVA-大白话探索JVM-类加载器(一) 现在我们来摸索下类的加载过程 首先,我们将类加载过程分为三步走 装载 链接 初始化 其中 链接 ...

  9. Math.random()和UUID.randomUUID().toString()性能对比【纯原】

    Math.random()和UUID.randomUUID().toString()性能对比 不言而喻,因为Math.random()不需要保证唯一性,所做的操作远比UUID消耗更小的性能, 在部分要 ...

  10. js鼠标移入移出效果【原】

    <HTML> <HEAD> <!-- meta 解释 : http://www.haorooms.com/post/html_meta_ds --> <met ...