美文网首页编程之路Git
一台电脑绑定两个github帐号教程

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

作者: 一肩月光 | 来源:发表于2016-03-16 23:07 被阅读1783次
    mustang

    思路

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

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

    解决方案:

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

    操作方法

    1. 查看已有 密钥
    • Mac 下输入命令 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,但密钥文件不同。Host 前缀可自定义,例子中ieit
    # default                                                                       
    Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa
    # two                                                                           
    Host ieit.github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_2
    
    1. 将生成的 id_rsa.pubid_rsa_2.pub内容copy 到对应的 repo
    1. 测试 ssh 链接
    ssh -T git@ieit.github.com
    ssh -T git@github.com
    # Hi IEIT! You've successfully authenticated, but GitHub does not provide shell access.
    # 出现上边这句,表示链接成功
    
    1. 将项目 clone 到本地, folder-name 是本地文件夹路径
    git clone git@github.com:whatever folder-name
    
    1. 取消全局 用户名/邮箱设置,并进入项目文件夹单独设置
    # 取消全局 用户名/邮箱 配置
    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”
    
    1. 命令行进入项目目录,重建 origin (whatever 为相应项目地址)
    git remote rm origin
    git remote add origin git@ieit.github.com:whatever
    
    1. 成功,可以 push 测试一下
    git push origin master
    

    参考资料

    相关文章

      网友评论

        本文标题:一台电脑绑定两个github帐号教程

        本文链接:https://www.haomeiwen.com/subject/ritclttx.html