• 一台电脑绑定两个github帐号教程


    思路

    ssh 方式链接到 Github,需要唯一的公钥,如果想同一台电脑绑定两个Github 帐号,需要两个条件:

    1. 能够生成两对 私钥/公钥
    2. push 时,可以区分两个账户,推送到相应的仓库

    解决方案:

    1. 生成 私钥/公钥 时,密钥文件命名避免重复
    2. 设置不同 Host 对应同一 HostName ,但密钥不同
    3. 取消 git 全局用户名/邮箱设置,为每个仓库独立设置 用户名/邮箱

    操作方法

    1. 查看已有密钥
      •   输入命令 ls ~/.ssh/,看到 id_rsaid_rsa_pub 则说明已经有一对密钥。
    1. 生成新的公钥,并命名为 id_rsa_2 (保证与之前密钥文件名称不同即可)
      •   ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "yourmail@xxx.com"
    1. .ssh 文件夹下新建 config 文件并编辑,另不同 Host 实际映射到同一 HostName,但密钥文件不同。
    # default                                                                       
    Host pc.github.com
    HostName github.com   
    User git
    IdentityFile ~/.ssh/id_rsa
    # two                                                                           
    Host corporation.github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_2

    这里有个坑需要注意:

      首先要确保这里的Host是不相同的,比如我关联自己的账号,host写成 pc.github.com;关联公司的账号,host写成 corporation.github.com

      HostName写域名:我这里关联的两个账号都是github,如果公司使用的是gitee,那么换成gitee.com就可以。

      IdentityFile写的就是对应的钥匙名称了。

      4. 将生成的 id_rsa.pubid_rsa_2.pub内容添加到对应的账号上。

      5. 测试 ssh 链接

    ssh -T git@pc.github.com
    ssh -T git@corporation.github.com
    # Hi IEIT! You've successfully authenticated, but GitHub does not provide shell access. # 出现上边这句,表示链接成功

    这里有个坑就是标红的地方与Host相同

      6. 取消全局 用户名/邮箱设置,并进入项目文件夹单独设置

    # 取消全局 用户名/邮箱 配置
    git config –global –unset user.name
    git config –global –unset user.email
    # 单独设置每个repo 用户名/邮箱
    git config user.email “xxxx@xx.com”
    git config user.name “xxxx”

      7. 命令行进入项目目录,重建 origin (whatever 为相应项目地址)

    git remote rm origin
    git remote add origin git@pc.github.com:whatever  (这里关联自己账号)
    或者:
    git remote add origin git@corporation.github.com:whatever (这里关联公司账号)

      这里有个坑就是标红的地方与Host相同

       这样就可以将自己的密钥对应到不同账号了。

      然后就是正常的git操作,比如可以 push 测试一下

    git push origin master

      如果成功就OK啦。

      自己踩过的坑,记下来。

  • 相关阅读:
    Charles的基本功能使用
    模拟器的代理功能
    LoadRunner参数包含逗号
    MySQL 与 [charlist]% 通配符
    MySQL 删除重复项并保留其中一个
    Selenium grid 分布式测试搭建(二)
    Selenium grid 分布式测试搭建(一)
    chromedriver与chrome版本映射表 与chromedriver 下载地址
    Selenium 打开 Chrome 链接框只有 Data;
    Xpath 小结
  • 原文地址:https://www.cnblogs.com/SupremeBoy/p/14523847.html
Copyright © 2020-2023  润新知