• 多机器-多账号-配置git


    git基本配置案例:

    首先下载git:

    windows:  msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可。

    mac:      安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

    unbuntu:   sudo apt-get install git

    centos:    sudo yum install git

    安装完成后设置用户名和邮箱:

    git config --global user.email "address@email.com"
    
    git config --global user.name "username"

    设置之后,不管你是自己的git还是github都要去服务器端设置密钥,方便链接:

    ssh-keygen -t rsa -C "address@email.com"

    生成本地密钥,一直按回车结束即可,选为默认值,默认存在id_rsa.pub文件中,打开文件

    cat ~/.ssh/id_rsa.pub

    复制文件内容,然后进入git服务的web端,进入个人配置页面,选择add ssh keys,将你复制的内容贴入即可。

    多git场景:

    github,开发平台

    gitwork,公司自己的git平台

    在个人电脑和工作电脑上配置gitwork,为了参与开源项目,在自己的机器上安装github。

    机器:pc_forwork, pc_forperson

    1. 首先在2台机器上联通公司git(场景:同一个账户在在两台机器上链接同一平台)

    pc_forwork:

      安装git:http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html

      生成密钥:ssh-keygen -t rsa -C “工作邮箱”

      将密钥配置到git的账户中

    pc_forperson:

      同上

    注意:

    email相同即为同一账户,用户名会在使用中自动填充,进入git文件 git config --list 可以查看。

    在生成key的过程中,如果未指定文件名则为默认,会生成id_rsa和id_rsa.pub两个文件

    2. 在已经安装了git的机器上安装第二个git账户,链接不同的git平台(场景:同一台机器上运行两个git账户链接不同平台)

    pc_forperson:

      因为在同一台机器中运行git,他一定要知道你是哪一个账户,以此为基点,你就会明白,同样的一份操作,都会有不同的名字:

      安装git:http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html

      生成密钥:ssh-keygen -t rsa -C “在github注册的个人邮箱”,注意在生成中需要改变文件名,以区别id_rsa文件,这里我们使用id_rsa_per。默认生成的文件放入~/.ssh/内(id_rsa_per和id_rsa_per.pub),这样在同样的请求下,机器就可以识别到两套key了

      将密钥配置到git的账户中,现在你拥有2个key了。

      配置key:现在问题来了,机器如何识别不同的key呢?

    touch ~/.ssh/config
    
    vim ~/.ssh/config

    加入

    Host github.com
    
      HostName github.com
    
      IdentityFile ~/.ssh/id_rsa_per
    
    Host git.公司.com  #公司git域名
    
      HostName gitlab.alibaba-inc.com  #(同host)
    
      IdentityFile ~/.ssh/id_rsa_work

      这样在你初始化项目的过程中,会配置一个git地址,根据域名的不同,会分配不同的key来链接,以后在git目录中.git文件夹内就有了相应的配置,利用git config --list 可以查看

  • 相关阅读:
    SDL的视频子系统
    SDL事件处理
    视频子系统中构基本概念和常用数据结
    ASP.NET程序打包的时候如何把TreeView一起打包(转)
    Javascript实现在DataGrid或DataList等容器上的CheckBox全选和取消
    Javascript实现DataGrid或DataList等容器上面选择单选框RadioButton
    git push 报src refspec xxx does not match any的错误
    vue运行报错error:Cannot assign to read only property 'exports' of object '#<Object>'
    weex不支持类的动态追加
    函数的作用域链在定义时已经确定!!
  • 原文地址:https://www.cnblogs.com/lance-/p/4644048.html
Copyright © 2020-2023  润新知