zoukankan      html  css  js  c++  java
  • git多账号使用

    1 背 景

    在公司上班的员工会同时拥有两个git账号, 一个是公司内部的, 仅允许工作时使用; 另一个是个人的, 常用于日常的学习记录. 此时, 面临的问题是如何在一台电脑(客户端)上正常使用两个账号?

    系统: MacBook Pro

    2 方案

    1. 不可再通过全局user.name和user.email来使用
    2. 配置多个账号的ssh密钥实现多账号的使用

    3 操作流程

    3.1 删除用户配置信息

    删除全局配置中的用户信息, 文件: ~/.gitconfig

    [user]
    	name = ***
    	email = ***
    

    3.2 生成两组密钥分别存储于不同文件

    # 一路回车, 直到结束, 生成第一组密钥, 存储文件为: ~/.ssh/id_rsa 和 ~/.ssh/id_rsa_pub
    ssh-keygen -t rsa -C "email_1"
    
    # 指定新的密钥存储文件, 生成第二组密钥
    ssh-keygen -t rsa -C "email_2"
    # 指定存储的文件名, 生成的文件为: ~/.ssh/id_rsa_github 和 ~/.ssh/id_rsa_github_pub
    ~/.ssh/id_rsa_github
    

    生成的目录结构

    ~/.ssh
    ├── id_rsa
    ├── id_rsa.pub
    ├── id_rsa_github
    └── id_rsa_github.pub
    

    3.3 分别在相应网站上添加公钥

    1. id_rsa.pub
    2. id_rsa_github.pub

    3.4 配置私钥对应的服务器

    文件~/.ssh/config

    添加如下内容:

    Host 公司的git
        HostName 公司的git
        User git
        IdentityFile ~/.ssh/id_rsa # 对应的私钥
    
    Host git@github.com # 个人的git
        HostName https://github.com # 个人的git
        User git
        IdentityFile ~/.ssh/id_rsa_github # 对应的私钥
    

    3.5 测试

    $ ssh -T git@github.com
    Hi zhouweixin! You've successfully authenticated, but GitHub does not provide shell access.
    

    TODO 为什么仍然需要配置用户信息才可使用

    git config --local user.email 1216840597@qq.com
    git config --local user.name zhouweixin
    

    参考

    同一客户端下使用多个git账号

  • 相关阅读:
    FarPoint FpSpread控件的使用收藏
    在Oracle中使用Guid
    oracle 语句的妙用例子
    让服务器iis支持.apk文件下载的设置方法
    oracle 自动生存清库脚本
    winform 消息通讯组件实习
    在css中使用边框做三角形
    JavaScript闭包和ajax
    JavaScript面向对象
    正则表达式
  • 原文地址:https://www.cnblogs.com/zhouweixin/p/13608160.html
Copyright © 2011-2022 走看看