假设环境

帐号一: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的邮箱地址(也可以自定义)

迹_Jason
1k 声望65 粉丝

feeling主义者,追求极致的简约,创造最好的用户体验