同一台电脑上使用两个 github 账号
使用需求
通常情况下,我们会有两个 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 账号相关推荐
- 在一台电脑上使用两个github账号
问题描述: 我公司有一个github账号,每天工作把代码传上去,我觉得代码写的好,我同时想上传到自己的github账号上面去,但是目前只有一台电脑,如何在一台电脑上面进行设置,使这一台电脑可以同时上传 ...
- 在一台电脑上运行两个或多个tomcat
在一台电脑上运行两个或多个tomcat 在一台电脑上运行多个tomcat 在本例中,使用两个tomcat做示例 工具/原料 tomcat 安装好jdk,并且配置好环境变量 方法/步骤 首先去apach ...
- 如何在同一台电脑上保持两个文件夹的内容同步更新?
很多时候我们因工作需要,想要在同一台电脑上保持两个文件夹的内容文件同步更新,保持一致.那么除了人工手动复制粘贴,还有其他方法吗?今天小西就给大家介绍一款文件同步备份软件,可实现两个文件夹文件自动同步更 ...
- 一台电脑上配置多个git账号(gitee),向不同git线上仓库提交(命令行/TortoiseGit同时) 代码
目录 1.一台电脑上实现与多个git在线仓库提交代码的实际场景 2.安装git TortoiseGit 生成SSH key 和 git的.ssh目录 创建并配置config文件 2.1.首先必须先安装 ...
- win10两台电脑上的两台虚拟机互联
前期准备: win10电脑两台(需要在同一局域网) vmware15版虚拟机--系统为centos7.3 开始配置: 1.关闭所有的防火墙(两台机器分别操作) 2.设置虚拟机的网络连接方式--桥接模式 ...
- 一台电脑上安装两个Tomcat服务器
在排查问题来源的时候,由于不想卸载之前下载的Tomcat,需要再安装一个Tomcat服务器. 下载压缩版的Tomcat之后,第一个Tomcat配置不变,需要修改第二个Tomcat的配置. 1.CATA ...
- windows下在一台电脑上配置多个git账号
假设环境 配置账号一 生成ssh密钥 github网站配置 在相应的.ssh目录下会生成名为id_rsa私钥文件和id_rsa.pub公钥文件, 打开id_rsa.pub公钥文件,复制里面的公钥添加到 ...
- Hexo在多台电脑上提交和更新
前言 我现在有两台电脑,最初第一次装好hexo环境的电脑在宿舍,姑且叫这台电脑**"老电脑"吧,代表最初拥有hexo环境的电脑,然后事情是这样的去到工位的电脑上想要更新博客总是要远 ...
- 西门子博途软件TIA PORTAL不同版本安装在一台电脑上的个人总结
关于西门子博途软件TIA PORTAL不同版本同时安装在同一台电脑上的个人总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 个人开始使用博途软件 ...
最新文章
- 有人把机器学习的数学基础整理成了专辑(附下载 )
- cacti由cmd.php更换成spine后无法绘图
- VS2010水晶报表的添加与使用
- ListView之SimpleAdapter的使用
- 查询qt中的数据_EXCEL在多表中查询数据(函数中引用工作表的办法)
- 一地鸡毛 OR 绝地反击,2019年区块链发展指南
- ubuntu下面的SecureCRT破解失败问题+本地ubuntu系统远程连接RHEL服务器的免密码登录问题(自己归纳总结)
- cad钣金展开插件_户外垃圾桶顶盖钣金拆分展开方法
- java dataset redis,利用Spring-Data-Redis和Jedis操作Redis缓存
- 2017年预测:突破性创意工作站、物联网
- Entity Framework5.0运行时错误ObjectStateManager 中已存在具有同一键的对象
- 易语言不用oracle客户端_大叔学中文编程之易语言02
- java 蓝桥杯算法训练 每月的天数(题解)
- iOS中的KeyChain的用途
- delete语句与reference约束冲突怎么解决_一条简单的更新语句,MySQL是如何加锁的?...
- EDA技术实用教程 | 复习四 | 标识符、关键字和规范的书写格式
- 怎么在win7上安装AIR780E的USB驱动
- 【工具】idea去掉UML类图的虚线箭头(依赖关系)
- Android怎么导入夜神模拟器,电脑文件怎么传到夜神android模拟器 文件上传夜神模拟器...
- PyTorch Python API:FX || Intro