如果自己的git账号是GitHub, 公司使用的是GitLab,那么如何在同一台电脑上配置两个账号呢?该篇文章可以帮你解决这个问题!!!
电脑如何配置两个以上的git账号
这里模拟两个不同代码托管网站的网址和帐号
帐号一: firstname
帐号一注册的网站: github.com
帐号二: secondename
帐号二注册的网站: gitlab.com
配置帐号一:github账号
生成ssh密钥:
a: 若无git,先安装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中的所有内容
配置帐号二:gitlab账号
生成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文件(注意文件没有后缀名)
模板说明:
Host myhost(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)[注意下面有缩进]
User 登录用户名(如:git)
HostName 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
Port 服务器open-ssh端口(默认:22,默认时一般不写此行
IdentityFile 证书文件路径(如~/.ssh/id_rsa_*)
以上两个账号的配置:
#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
第二个帐号:ssh -T gitlab
// 说明:上面的github、gitlab是config文件中我们定义的Host的值,
// 一般我们测试连通性时要输入:ssh -T github.com 需要网站的域名,在配置之后直接使用主机名即Host的值代替网站名
日常使用,如克隆代码时:
原来的命令:git clone git@github.com:firstname/demo.git
现在的命令:git clone github:firstname/demo.git