• 由于本人有连个git账号,个人github账号和公司gitlab账号,为了同时使用这两个账号,并且防止冲突,因此需要进行设置,如下:

6、git同时存在两个账号(在同一台电脑上)

  • 由于本人有连个git账号,个人github账号和公司gitlab账号,为了同时使用这两个账号,并且防止冲突,因此需要进行设置,如下:

6.1 首先是常规设置

ssh-keygen -t rsa -C "youremail@example.com",生成的文件存储在~/.ssh/id_rsa,然后一直回车,于是就可以在~/.ssh下就可以看到有两个文件id_rsa和id_rsa.pub。

接下来就可以登录自己的github账号,将id_rsa.pub中的内容复制到github中的SSH框中,在setting->SSH and GPG keys->new SSH key,title随便取一个名字。接下来:

ssh-add ~/.ssh/id_rsa

于是就可以正常使用了。

6.2 同时添加两个账号

  • 染成上面第一步后,接下来创建公司git账号的ssh秘钥

    ssh-keygen -t rsa -C "email2@example.com",然后修改下图红色框中的位置,例如:/Users/schacon/.ssh/id_rsa_gitlab

完成后,就可以在/Users/schacon/.ssh/下查看到四个文件:id_rsa, id_rsa.pub, id_rsa_gitlab, id_rsa_gitlab.pub

  • 将新生成的公钥id_rsa_gitlab.pub放置公司的个人账号的gitlab的ssh框中,在setting->SSH and GPG keys->new SSH key,title随便取一个名字。

    由于ssh-agent默认只识别id_rsa,因此还需要添加秘钥id_rsa_gitlab,如下:

    ssh-add ~/.ssh/id_rsa_gitlab.

    ssh-add ~/.ssh/id_rsa
  • 添加这两个私钥很重要,最好都设置一下密码,否则可能会有冲突。

6.3 最后一步,配置~/.ssh/config文件

vim ~/.ssh/config,添加内容如下:

# fisrt@qq.com
Host git@github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github # second@163.com
Host git@gitlab.com
HostName git.xiaojukeji.com
User git
IdentityFile ~/.ssh/id_rsa

如果还想要添加第三个账号,可以用相同的方式进行。

当你运行一个git push时,就可以在~/.ssh/下看到文件know_hosts了,这里存放着ssh-add的账号

6.4 补充:有时因为设置了全局账号,因此需要清除

例如,之前可能终端中运行了下列命令:

git config --global user.name "your_name"
git config --global user.email "your_email"

要想清除,可以直接删除上述命令生成的文件~/.gitconfig,命令如下:

rm ~/.gitconfig

git同时存在两个账号(在同一台电脑上)——三步完成的更多相关文章

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

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

  2. 简易搭建git仓库、关联远程和本地仓库方法。克隆仓库方法。同一台电脑上创建两个git ssh key方法。

    一,在github上建仓库 react-js-antd-demo: 二:将远程仓库与本地仓库关联 git remote add origin git@github.com:begin256/react ...

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

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

  4. 四步实现在一台电脑上使用多个github账号

    四步实现在一台电脑上同时使用多个GitHub账号 今天和大家聊一下如何在一台电脑上同时使用多个GitHub账号,通过以下四个步骤就可以实现,其中第二个步骤为了便于叙述分成了几个小步骤. 1. 取消全局 ...

  5. ebay如何确定同一电脑登陆了多个账号,以及同一账号登陆过多台电脑

    转自hilton 的BLOG http://jimqu.blog.51cto.com/105370/654691 一切要从ebay的买家保护说起 ebay作为一个电子商务平台,之所以可以汇聚如此众多的 ...

  6. Git学习笔记——从一台电脑上传文件到Github上

    目标:从一台电脑上传文件到Github上 前提: 1.这里假定已在Github上创建了仓库,建立了仓库 2.已在这台电脑上安装了Git客户端 实验环境: 1.Windows 10 64位,已安装了Gi ...

  7. 一台电脑上配置多个git的ssh key

    前几天公司的代码库全部迁移到了阿里云上,在配置git的ssh key的时候遇到了一个问题,那就是自己的密钥在添加时提示已经存在,原来是自己的个人账号上已经添加过这个密钥了,公司分配的账号就不能再添加这 ...

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

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

  9. (windows)一台电脑上安装两个Mysql服务

    原文:https://my.oschina.net/u/1472917/blog/410732 最近需要在一台电脑上安装两个Mysql服务,需求稍微有些奇怪,但确实很必要.本人原本为了本机测试Word ...

随机推荐

  1. 配置php环境的一个nginx.conf

    文件:nginx.conf 内容: #user  nobody;worker_processes  1; #error_log  logs/error.log;#error_log  logs/err ...

  2. cookie和sission的原理及异同

    Cookie Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持. 通常有三个步骤来识别回头客: 服务器脚本发送 ...

  3. DDL、DML和DCL的区别与理解

    DML.DDL.DCL区别 . 总体解释: DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令 ...

  4. PostgreSql之在group by查询下拼接列字符串

    首先创建group_concat聚集函数: CREATE AGGREGATE group_concat(anyelement) ( sfunc = array_append, -- 每行的操作函数,将 ...

  5. MySQL 压缩文件安装遇到的问题及解决方案

    第一步:从官网下载压缩文件(链接). 第二步:解压该文件,放置到想放到的位置.我的目录是在 C:\mysql\mysql-8.0.12-winx64 下. 第三步:在C:\mysql\mysql-8. ...

  6. JS运算符、NaN

    一.关系运算符  (< <= > >= == === != !==) 判断符号左右的两个数据的大小之间的关系,运算结果是一个布尔类型的值 ==   只判断值 ===即判断值并且 ...

  7. Unity用Excel.dll简单读取Excel内容

    Unity用Excel.dll简单读取Excel内容 需要Excel.dll 需要如下三个命名空间 using System.IO; using Excel; using System.Data; 1 ...

  8. 在linux和windows用c++编写c接口的动态库

    linux 动态的头文件api.h #ifndef _API_H #define _API_H #ifdef DLL_IMPLEMENT #define DLL_EXPORT extern " ...

  9. 详解设计模式在Spring中的应用

    设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆. 今天,在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设 ...

  10. mysql批量更新数据

    CREATE PROCEDURE `sp_update_temp_data`( out po_returnvalue ) ) leave_top:BEGIN #Routine body goes he ...