【前言】

在企业工作环境中,我们一般会用企业的github或gitlab等账号,同时也会配置相关的ssh访问方式。

当我们想要同时操作个人github或gitlab仓库时,就无法重复使用现有的ssh公钥配置在个人账号里。

一种解决办法是不使用ssh方式,直接使用https方式访问个人仓库是可行的,但我们今天介绍一种方法可以让我们在同一台电脑中配置两个ssh访问。

【配置SSH】

生成新的RSA密钥对

我们无法在github站点不同账户配置中使用同一个RSA公钥,将已经添加过的公钥再次添加到另一个不同账户时,会提示密钥已经被使用过了,这时候我们需要新创建一个密钥对

打开cmd输入命令:ssh-keygen -t rsa -C "随意注释字符" -f C:/Users/{username}/.ssh/{keyname}一路回车,生成新的密钥对

其中两个参数,username 为个人电脑账户名

keyname 自行给新的密钥对起一个名字,例如我输入 7tiny,那么生成出来的密钥对如下:

将新公钥添加到将要访问的 github 账户

这一步没啥说的,如果不清楚如何配置,参考历史文章 --> Git SSH 认证配置 - 7tiny - 博客园 (cnblogs.com)

添加本地配置文件

在 .ssh 目录添加配置文件,文件名 config 注意没有文件扩展名

文件内容也非常简单,按如下配置即可

Host 7tiny
HostName github.com
User git
IdentityFile ~/.ssh/7tiny

文件说明

Host:标识,随意取一个即可

HostName:仓库站点域名,我使用的是 github,因此域名填 github.com

User:默认git即可

IdentityFile:填刚才生成时的密钥对地址

拉取新账户的仓库源码

我们通过ssh方式直接克隆新仓库的源码

克隆时,可以指定采用新的ssh密钥配置此仓库,将 git@github.com 替换为前面配置的 Host 名称(本文用的是7tiny)

例如:git clone 7tiny:dotnet/corefx.git

当然,不这么指定也是可以成功 clone 的,clone后,打开本地仓库目录下的 .git 文件夹

修改 config 配置文件里的 url,将 github.com 换为 Host 名称(本文用的是7tiny),和上述clone时配置效果是一样的

【说一点题外话】

经过上述配置,git的正常操作都已经ok了,但是还有点小细节问题。

我们提交代码采用的账号和邮箱用的都是 global 配置里的,这样在提交代码时,个人仓库里的提交记录就会被识别为公司账号的提交,这样首页是不会显示小绿点的,因为不算“自己”的贡献

这个处理办法就是将当前代码仓库的姓名和邮箱换成个人账号的姓名和邮箱

方法一、通过命令行配置

首先进入当前仓库地址打开 git 命令行,通过 git config 命令修改本地姓名邮箱

git config user.name "xxx name"
git config user.email "aaa@bbb.xx.com"

方法二、打开 config 配置文件直接修改

打开本地代码仓库目录下的 .git 文件夹下的 config 配置文件

添加 user 节点

[user]
name = sevenTiny
email = xxx@qq.com

保存即可

用任意一种方式配置好后,可以通过git config --local --list 查看当前仓库配置

通过 git config --global --list 查看全局配置,以确保全局配置没有被改错(local 和 global 不使用同一个姓名邮箱情况下)

后续提交的代码将会用此姓名和邮箱操作仓库,当然,小绿点也是“你”的了

Git 多账号 SSH 配置的更多相关文章

  1. 多个git库的ssh配置

    当拥有多个git服务器,而且都是用ssh认证方式时,需要在~/.ssh下的config文件做如下配置 如下:第一个为本地git库,第二个为github库,第三个为默认git库 Host 192.168 ...

  2. Windows下Git多账号配置,同一电脑多个ssh-key的管理

    这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作. <Git-Tort ...

  3. Windows下配置Git多账号github码云

    Windows下配置Git多账号github码云 1.配置了全局用户名和邮箱 $ git config --global user.email "你的邮箱" $ git confi ...

  4. Git多账号配置,同一电脑多个ssh-key的管理

    为什么有这种需求? 在我们开发过程中,可能会遇到使用同一台机器,既要向公司git服务器提交代码,也要向gitlib或者gitee等 git仓库提交代码,2个仓库设置的用户名信息,不一样,此时需要用到多 ...

  5. 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理

    Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...

  6. Git多账号配置

    在一台电脑上配置多个不同的 ssh key 前言 如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key. ...

  7. 同一客户端多个git账号的配置

    同一客户端多个git账号的配置 同一客户端多个git账号的配置 步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub. 1 ssh-keygen -t rs ...

  8. Git/GitHub SSH配置

    生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证. 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份. 这个过程在所有操作系统上 ...

  9. Git管理多个SSH密钥,Git多帐号配置

    版权声明:转载须标明本文转自严振杰的博客 https://blog.csdn.net/yanzhenjie1003/article/details/69487932版权声明:转载必须注明本文转自严振杰 ...

  10. 使用SSH配置git服务器免密提交

    1. 生成SSH 1.1下载 下载工具 puttygen.exe ,当然其他工具请自行搜索. 下载地址: 下载地址1   百度网盘 (提取码: if8g)https://pan.baidu.com/s ...

随机推荐

  1. 关于CSDN获取博客内容接口的x-ca-signature签名算法研究

    前言 源码下载 不知道怎么就不通过了,这篇文章放出去几个月了,然后突然告诉我不行了,所以我打算换个平台(至少不能在一棵树吊死),垃圾审核 我最初想直接获取html博客,然后保存在本地,最后发布到别的博 ...

  2. 社论 22.10.14 区间在线去重k小

    浅谈区间在线去重k小 关于讨论 https://www.luogu.com.cn/discuss/509205 本文将描述一种分块做法以及讨论中提出的各种 \(O(n \ \text{polylog} ...

  3. 【课程复习】Java Web、框架及项目简单回顾

    JavaEE Day14 Servlet&HTTP&Request&BeanUtils介绍 Servlet类体系结构,两个子抽象类,需要继承HttpServlet而不是Gene ...

  4. 干电池升压3.3V芯片

    PW5100适用于一节干电池升压到3.3V,两节干电池升压3.3V的升压电路,PW5100干电池升压IC. 干电池1.5V和两节干电池3V升压到3.3V的测试数据 两节干电池输出500MA测试: PW ...

  5. kestrel网络编程--开发redis服务器

    1 文章目的 本文讲解基于kestrel开发实现了部分redis命令的redis伪服务器的过程,让读者了解kestrel网络编程的完整步骤,其中redis通讯协议需要读者自行查阅,文章里不做具体解析. ...

  6. python画社交网络图

    安装依赖包 pip3 install networkx 在图书馆的检索系统中,关于图书的信息里面有一个是图书相关借阅关系图.跟这个社交网络图是一样的,反映了不同对象间的关联性.利用python画社交网 ...

  7. python进阶之路11 闭包函数 装饰器

    函数名的多种用法 函数名其实绑定的也是一块内存地址 只不过该地址里面存放的不是数据值而是一段代码 函数名加括号就会找到该代码并执行 1.可以当作变量名赋值 def index():pass res = ...

  8. 琐碎的想法(五)for 的前世今生

    for 起因 记得大学上C语言的课,第一次遇到的问题就是循环结构里面的 for. 选择结构的 if 非常易懂,和日常生活的判断没有区别. 循环结构的 while 同样比较好理解. 本质上是一个判断 如 ...

  9. [WPF]鼠标移动到Button颜色改变效果设置

    代码 <Style x:Key="Button_Menu" TargetType="{x:Type Button}"> <Setter Pro ...

  10. [Untiy]贪吃蛇大作战(四)——游戏主界面

    游戏主界面: 由于这个场景比较复杂,需要分几个部分实现: 1.游戏背景 首先我们的游戏场景上包括了一个大的背景图片,之外再包围一个红色的区域.中间的区域才是可活动的区域,周围通过碰撞检测盒来检测是否有 ...