全局配置两个git账号

一.虚拟两个不同代码托管网站的网址和帐号

帐号一:firstname

帐号一注册的网站:github.com

帐号二:secondename

帐号二注册的网站:gitlab.com

二.配置帐号一

生成ssh密钥:

    a,安装git;

    b,git config --global user.name "username1"//github的帐号名(也可以自定义)

    c,git config --global user.email "emailadress1"//github的邮箱地址(也可以自定义)

    d,生成ssh密钥:ssh-keygen -t rsa -C "githubEmailadress"//一定是github.com网站上的邮箱地址,不可以自定义

    e,一路回车

    f,在github.com网站上添加公钥,即~/.ssh/id_rsa.pub中的所有内容 

三.配置帐号二

生成ssh密钥

    a,ssh-keygen -t rsa -C "gitlabEmailadress"//gitlab.com网站上的邮箱,不能自定义

    b,回车后提示设置私钥文件的文件名,我们输入id_rsa_gitlab即可,默认保存在和第一个帐号私钥文件同级目录下,可以自定义路径

    c,一路回车

    d,新密钥添加到SSH agent中:

        ssh-agent bash

        ssh-add ~/.ssh/id_rsa_gitlab //第二个帐号私钥文件的完整路径

    e,新生成的id_rsa_gitlab.pub文件中存放着第二个帐号的公钥,将全部内容复制,添加到gitlab.com网站上

四.在.ssh目录下创建config文件(没有后缀名)

文件内容如下:
#github user

    Host github //主机名,可自定义

    HostName github.com //代码托管网站域名

    User git

    IdentityFile /home/lh/.ssh/id_rsa //此帐号私钥的路径



#gitlab user

    Host gitlab

    HostName gitlab.com

    User git

    IdentityFile /home/lh/.ssh/id_rsa_gitlab

五,测试能否和对应的代码托管网站通信

第一个帐号:ssh -T github //github是config文件中我们定义的Host的值,一般我们测试连通性时要输入:ssh -T github.com 需要网站的域名,在配置之后直接使用主机名即Host的值代替网站名

第二个帐号:ssh -T gitlab

六,clone代码

原来的命令:git clone [email protected]:firstname/demo.git

现在的命令:git clone github:firstname/demo.git

你可能感兴趣的:(git)