四步实现在一台电脑上同时使用多个GitHub账号

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

1. 取消全局配置

在最开始使用GitHub配置ssh时,大部分人都使用过下面这两条语句:

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

这两条命令是在进行全局配置,对于想要在一台电脑上使用多个GitHub账号是不行的,需要利用下面的两条语句来取消全局配置。

git config --global --unset user.name
git config --global --unset user.email

2. ssh

2.1 生成ssh

在这里假设我们有三个GitHub账号想在一台电脑上同时使用,三个账号分别为:ID1,ID2,ID3,对应的邮箱分别为E1,E2,E3,现在需要生成三个ssh。

生成第一个ssh:

在桌面打开GitBash或者cmd(在桌面按住shift键再按右键或弹出在此处打开命令窗口)

ssh-keygen -t rsa -C "E1"

运行到这一步时输入红色方框中的内容 id_rsa_one ,表示第一个密钥。



生成第二个ssh:

紧接着运行下面这条语句:

ssh-keygen -t rsa -C "E2"

在红色方框中输入 id_rsa_two



生成第三个ssh:

再运行下面这条语句:

ssh-keygen -t rsa -C "E3"

在红色框中输入 id_rsa_three



至此三个ssh生成完毕。

将三个公钥文件 id_rsa_one.pub id_rsa_two.pub id_rsa_three.pub (默认路径 C:\Users\你的用户名\.ssh )分别复制粘贴到三个GitHub账号的ssh key中。

2.2 添加密钥

1、打开ssh-agent

(1)如果你是github官方的bash:

ssh-agent -s

(2) 如果你是其它,比如msysgit:

eval $(ssh-agent -s)

第一种如果不行就尝试第二种,成功的截图如下图所示:



2、添加私钥

ssh-add ~/.ssh/id_rsa_one

ssh-add ~/.ssh/id_rsa_two

ssh-add ~/.ssh/id_rsa_three

2.3 修改config文件

.ssh 文件夹下运行GitBash,生成 config 文件。

touch config

打开 config 文件,将以下内容复制到 config 文件中。

# 第一个
Host one.github.com
HostName github.com
User ID1 # 用户名1
IdentityFile ~/.ssh/id_rsa_one

# 第二个
Host two.github.com  # 前缀名可以任意设置
HostName github.com
User ID2 # 用户名2
IdentityFile ~/.ssh/id_rsa_two

# 第三个
Host three.github.com  # 前缀名可以任意设置
HostName github.com
User ID3 # 用户名3
IdentityFile ~/.ssh/id_rsa_three

如果 Host 始终为 github.com ,那么就只能使用一个私钥,通过上面的设置,每个账号使用了自己的 Host,但是每个 Host 的域名(HostName)做 CNAME 解析又都解析到 github.com,这样 ssh 在连接时就可以区别不同的账号了。

2.4 测试

ssh –T one.github.com

ssh –T two.github.com

ssh –T three.github.com

如果出现下图,则说明成功:

3. 配置本地项目

在账号1(ID1) 的 GitHub 仓库中 clone 一个项目到本地(自己新建一个项目然后 git init 也可以),在项目文件夹中右键打开 GitBash,然后执行下面 的语句,设置账号和相应的项目关联:

git config user.name  ID1
git config user.email  E1

账号2和账号3的设置同理。

4. 修改远程仓库

由于我们的Host都做了修改,所以远程仓库也要做相应的更改。

账号1的某个项目下右键打开 GitBash

git remote rm origin # 先删掉远程仓库原来的origin
git remote add origin git@one.github.com:用户名1/用户名1.github.com.git # 重新将远程仓库命名为origin

# 下面这些操作就可以正常使用了
git add .
git commit -m "information"
git push -u origin master

账号2的某个项目下右键打开 GitBash

git remote rm origin # 先删掉远程仓库原来的origin
git remote add origin git@two.github.com:用户名2/用户名2.github.com.git # 重新将远程仓库命名为origin

账号3的某个项目下右键打开 GitBash

git remote rm origin # 先删掉远程仓库原来的origin
git remote add origin git@three.github.com:用户名3/用户名3.github.com.git # 重新将远程仓库命名为origin

经过上面四步后,我们就可以和之前一样使用git来管理我们的项目了。

写的有点仓促,如果有任何问题,欢迎和我联系。

四步实现在一台电脑上使用多个github账号的更多相关文章

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

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

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

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

  3. 如何在一个电脑上使用两个github账号

    问题描述:公司电脑上默认使用的是公司的github账号,如果希望写一些代码放到个人的github账号上,就需要配置让一个电脑上可以使用两个github账号 原理:管理两个SSH key 1.生成两个S ...

  4. 一台电脑上同时使用两个github账户

    需求:公司有github账号,自己有github账号,想在Git上同时使用,两者互不干扰. 思路:管理两个SHH key. 解决办法: 一.生成两个SSH key 为了举例方便,这里使用“one”和“ ...

  5. windows系统一台电脑先后添加多个git账号

    概述 电脑上已经配置了github的ssh连接.现在又有一个不同的git账户,也就是要在一台电脑上配置两个git账号. 下面记录一下我配置的方法. 一.取消git全局配置 之前配置github的时候, ...

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

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

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

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

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

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

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

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

随机推荐

  1. 从零开始入门 | Kubernetes 中的服务发现与负载均衡

    作者 | 阿里巴巴技术专家  溪恒 一.需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机 ...

  2. 万恶之源-python的进化

    列表 列表的增删改查 3. 列列表的嵌套 元组和元组嵌套 5. range ⼀一. 列表 1.1 列表的介绍 列表是python的基础数据类型之⼀一 ,其他编程语⾔言也有类似的数据类型. 比如JS中的 ...

  3. PostGIS安装教程

    安装环境: win10专业版 postgresql-10.6-1-windows-x64 ---因为使用的是ArcGIS10.4版本,pg10.6对于ArcGIS10.4版本过高,建议选择安装pg9. ...

  4. Oracle数据库索引

    Oracle数据库索引 在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容. 对于数据库来说,索 ...

  5. homebrew安装和解决brew安装速度慢的问题

    homebrew安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/inst ...

  6. 深入SQL Server 日期和时间的内部存储

    在SQL Server的内部存储中,日期和时间不是以字符串的形式存储的,而是使用整数来存储的.使用特定的格式来区分日期部分和时间部分的偏移量,并通过基准日期和基准时间来还原真实的数据. 一,DateT ...

  7. C语音I博客作业09

    ------------恢复内容开始------------ 这个作业属于那个课程|C语言程序设计II --|:--:|--: 这个作业要求在哪里|https://edu.cnblogs.com/ca ...

  8. 谈谈.net对象生命周期

     不用程序员操心的堆 — 托管堆         程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存和栈内存.    栈内存,通常使用的 ...

  9. 深入解析 ConcurrentHashMap 实现内幕,吊打面试官,没问题

    在开发中,我们经常使用 HashMap 容器来存储 K-V 键值对,但是在并发多线程的情况下,HashMap 容器又是不安全的,因为在 put 元素的时候,如果触发扩容操作,也就是 rehash ,就 ...

  10. 爬虫新宠requests_html 带你甄别2019虚假大学 #华为云·寻找黑马程序员#

    python模块学习建议 学习python模块,给大家个我自己不专业的建议: 养成习惯,遇到一个模块,先去github上看看开发者们关于它的说明,而不是直接百度看别人写了什么东西.也许后者可以让你很快 ...