假设环境
帐号一:github
帐号二:gitlab
配置帐号一
生成ssh密钥
1、安装Git软件
2、在桌面打开Git,进行设置
git config --global user.name "userName"//github的帐号名(也可以自定义)
git config --global user.email "emailAdress"//github的邮箱地址(也可以自定义)
3、生成ssh密钥
ssh-keygen -t rsa -C "githubEmailAdress"//github邮箱地址
一路的回车键
github网站配置
在github上将id_rsa.pub
文件内容添加上(怎么添加请百度)
配置帐号二
生成ssh密钥
ssh-keygen -t rsa -C "gitlabEmailAdress"
# 设置名称为id_rsa_gitlab
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): id_rsa_gitlab
在.ssh 路径下面会生成一个id_rsa_gitlab文件
新密钥添加到SSH agent中
ssh-agent bash
ssh-add ~/.ssh/id_rsa_work
创建一个config文件(没有文件后缀名)
# 该文件用于配置私钥对应的服务器
# Default github user
Host github
HostName github.com
User git
IdentityFile C:/Users/Administrator/.ssh/id_rsa
# second user
Host gitlab
HostName your gitlab host address
User git
IdentityFile C:/Users/Administrator/.ssh/id_rsa_gitlab
gitlab网站配置
将id_rsa_gitlab.pub
中的内容添加到gitlab帐号下的SSH Key中
测试
$ ssh -T github
Hi jj! You've successfully authenticated, but GitHub does not provide shel
l access.
$ ssh -T gitlab
Hi jj! You've successfully authenticated, but GitHub does not provide shell
access.
这里的github与gitlab就是config文件中的Host值
运用
正常情况我们要clone一个github工程是这样的
git@github.com:jj/JForm.git
如今在github工程是这样的
git clone github:jj/JForm.git
原因就是config
还有一个问题就是提交的邮箱地址和用户名是根据下面配置
git config --global user.name "userName"//github的帐号名(也可以自定义)
git config --global user.email "emailAdress"//github的邮箱地址(也可以自定义)