手把手叫你一台电脑配置两个Git账户

假设环境

帐号一:github

帐号二:gitlab

配置帐号一

生成ssh密钥

1
2
3
4
5
6
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密钥

1
2
3
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中

1
2
ssh-agent bash
ssh-add ~/.ssh/id_rsa_work

创建一个config文件(没有文件后缀名)

1
2
3
4
5
6
7
8
9
10
11
12
# 该文件用于配置私钥对应的服务器
# 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中

测试

1
2
3
4
5
6
7
$ 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工程是这样的

1
git@github.com:jj/JForm.git

如今在github工程是这样的

1
git clone github:jj/JForm.git

原因就是config

还有一个问题就是提交的邮箱地址和用户名是根据下面配置

1
2
git config --global user.name "userName"//github的帐号名(也可以自定义)
git config --global user.email "emailAdress"//github的邮箱地址(也可以自定义)
迹_Jason wechat
分享快乐,感受科技的温度
坚持原创技术分享,您的支持将鼓励我继续创作!