使用需求

通常情况下,我们会有两个 github 账号:一个是公司的,另一个是私人的。由于 github 是使用 SSH key 的 fingerprint (对应的公钥id_rsa_pub)来判定你是哪个账户,而不是通过用户名,如果是在多台电脑上使用一个账号,可以为该账号添加多个 SSH key,如果是一台电脑使用多个账号,则分别生成多个 SSH key 添加到对应的账户即可。所以本文要实现的是公号和私号在 git 上同时使用,两者互不干扰。

步骤一:生成多个 SSH key

为了举例方便,这里使用 “one” 和 “two” 两个账户。
使用cd ~/.ssh切换工作目录,然后使用如下命令生成两个钥匙,中间一路回车。

ssh-keygen -t rsa -f ~/.ssh/id_rsa_one -C "one@xxx.com"
ssh-keygen -t rsa -f ~/.ssh/id_rsa_two -C "two@xxx.com"

这样会在~/.ssh目录下生成四个文件:

id_rsa.one      //账号 one 的私钥
id_rsa.one.pub  //账号 one 的公钥
id_rsa.two
id_rsa.two.pub

步骤二:创建配置文件 config

在 ~/.ssh目录下新建 config 文件,令不同 Host 实际映射到同一 HostName,但密钥文件不同。

$ touch config  // 创建 config
$ vim config    // 编辑 config

加上以下内容

# one (first account)
Host one.github.com
HostName github.com
PreferredAuthentications publickey
User one
IdentityFile ~/.ssh/id_rsa_one# two(second account)
Host two.github.com
HostName github.com
PreferredAuthentications publickey
User two
IdentityFile ~/.ssh/id_rsa_two

步骤三:添加 SSH key 及 测试

分别登陆两个 github 账号,在 Settings —> SSH and GPG keys 中,点击 “new SSH key”,把 “id_rsa.one.pub” 和 "id_rsa.two.pub"这两个公钥的内容分别添加到相应的账号中。
为了确认我们可以通过 SSH 连接 github,可通过输入下面命令来验证

$ssh -T git@one.github.com

如果看到下面信息,就说明连接正常。

Hi one! You've successfully authenticated, but GitHub does not provide shell access.

该步骤详细内容可以参考教程:使用 SSH 连接 github

步骤四:用户名和邮箱配置

注意:因为一台电脑上配置了多个 github 账号,所以就不能再配置全局的用户名和邮箱了,而是在不同的仓库下,如果需要连接不同的 git 账号,配置相应的局部用户名和邮箱即可,如果之前配置过全局的用户名和邮箱,需要取消配置。

# 取消全局 用户名/邮箱 配置
git config --global --unset user.name
git config --global --unset user.email
# 设置局部 用户名/邮箱 配置
git config user.name "xxxx"
git config user.email "xxxx@xx.com"

步骤五:使用 git

git 的使用一般是从其他仓库直接 clone 或本地新建,注意配置用户名和邮箱。

1、clone 到本地

原来写法

$ git clone git@github.com: 用户名/learngit.git

现在写法

$ git clone git@one.github.com: one的用户名/learngit.git
$ git clone git@two.github.com: two的用户名/learngit.git

如果有需要重建 origin,可以执行下面操作

$git remote rm origin //清空原有的
$git remote add origin git@one.github.com:one/test.git

2、本地新建仓库

# 建立本地仓库
$git init
...//其他操作
$git commit -m "first commit"
# push 到 github上去
$ git remote add origin git@one.github.com:one/test.git
$ git push origin master

这样就实现了一台电脑管理两个 github 账号,接下来可以进行 git 的其他操作。
参考文章

1、https://www.cnblogs.com/xjnotxj/p/5845574.html
2、https://www.jianshu.com/p/3fc93c16ad2d
3、https://blog.csdn.net/mq2856992713/article/details/62090841
4、https://blog.csdn.net/wolfking0608/article/details/78512171

原文:https://blog.csdn.net/qq_34634812/article/details/90168486

同一台电脑上使用两个 github 账号相关推荐

  1. 在一台电脑上使用两个github账号

    问题描述: 我公司有一个github账号,每天工作把代码传上去,我觉得代码写的好,我同时想上传到自己的github账号上面去,但是目前只有一台电脑,如何在一台电脑上面进行设置,使这一台电脑可以同时上传 ...

  2. 在一台电脑上运行两个或多个tomcat

    在一台电脑上运行两个或多个tomcat 在一台电脑上运行多个tomcat 在本例中,使用两个tomcat做示例 工具/原料 tomcat 安装好jdk,并且配置好环境变量 方法/步骤 首先去apach ...

  3. 如何在同一台电脑上保持两个文件夹的内容同步更新?

    很多时候我们因工作需要,想要在同一台电脑上保持两个文件夹的内容文件同步更新,保持一致.那么除了人工手动复制粘贴,还有其他方法吗?今天小西就给大家介绍一款文件同步备份软件,可实现两个文件夹文件自动同步更 ...

  4. 一台电脑上配置多个git账号(gitee),向不同git线上仓库提交(命令行/TortoiseGit同时) 代码

    目录 1.一台电脑上实现与多个git在线仓库提交代码的实际场景 2.安装git TortoiseGit 生成SSH key 和 git的.ssh目录 创建并配置config文件 2.1.首先必须先安装 ...

  5. win10两台电脑上的两台虚拟机互联

    前期准备: win10电脑两台(需要在同一局域网) vmware15版虚拟机--系统为centos7.3 开始配置: 1.关闭所有的防火墙(两台机器分别操作) 2.设置虚拟机的网络连接方式--桥接模式 ...

  6. 一台电脑上安装两个Tomcat服务器

    在排查问题来源的时候,由于不想卸载之前下载的Tomcat,需要再安装一个Tomcat服务器. 下载压缩版的Tomcat之后,第一个Tomcat配置不变,需要修改第二个Tomcat的配置. 1.CATA ...

  7. windows下在一台电脑上配置多个git账号

    假设环境 配置账号一 生成ssh密钥 github网站配置 在相应的.ssh目录下会生成名为id_rsa私钥文件和id_rsa.pub公钥文件, 打开id_rsa.pub公钥文件,复制里面的公钥添加到 ...

  8. Hexo在多台电脑上提交和更新

    前言 我现在有两台电脑,最初第一次装好hexo环境的电脑在宿舍,姑且叫这台电脑**"老电脑"吧,代表最初拥有hexo环境的电脑,然后事情是这样的去到工位的电脑上想要更新博客总是要远 ...

  9. 西门子博途软件TIA PORTAL不同版本安装在一台电脑上的个人总结

    关于西门子博途软件TIA PORTAL不同版本同时安装在同一台电脑上的个人总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 个人开始使用博途软件 ...

最新文章

  1. 有人把机器学习的数学基础整理成了专辑(附下载 )
  2. cacti由cmd.php更换成spine后无法绘图
  3. VS2010水晶报表的添加与使用
  4. ListView之SimpleAdapter的使用
  5. 查询qt中的数据_EXCEL在多表中查询数据(函数中引用工作表的办法)
  6. 一地鸡毛 OR 绝地反击,2019年区块链发展指南
  7. ubuntu下面的SecureCRT破解失败问题+本地ubuntu系统远程连接RHEL服务器的免密码登录问题(自己归纳总结)
  8. cad钣金展开插件_户外垃圾桶顶盖钣金拆分展开方法
  9. java dataset redis,利用Spring-Data-Redis和Jedis操作Redis缓存
  10. 2017年预测:突破性创意工作站、物联网
  11. Entity Framework5.0运行时错误ObjectStateManager 中已存在具有同一键的对象
  12. 易语言不用oracle客户端_大叔学中文编程之易语言02
  13. java 蓝桥杯算法训练 每月的天数(题解)
  14. iOS中的KeyChain的用途
  15. delete语句与reference约束冲突怎么解决_一条简单的更新语句,MySQL是如何加锁的?...
  16. EDA技术实用教程 | 复习四 | 标识符、关键字和规范的书写格式
  17. 怎么在win7上安装AIR780E的USB驱动
  18. 【工具】idea去掉UML类图的虚线箭头(依赖关系)
  19. Android怎么导入夜神模拟器,电脑文件怎么传到夜神android模拟器 文件上传夜神模拟器...
  20. PyTorch Python API:FX || Intro

热门文章

  1. GDI 绘制圆角矩形
  2. VS2017-VC++校验和计算小工具
  3. 区块链BaaS云服务(9)索尼 区块链通用数据库 BCDB
  4. 【Flask】ORM多对多关联关系
  5. 【django】配置数据库(mysql)
  6. SQL注入是什么?如何防止?
  7. Python中字典对象实现原理
  8. 文件权限与目录配置——笔记
  9. 密码学-hash散列表
  10. 使用 detours 框架 hook 函数