最近几天因为要同时维护个人和公司的项目,公司用的是GitLab,所以需要配置多个Git账号来进行操作。

注意:此教程是以已经安装Git的前提下进行的,例子使用的是Github和Gitlab,多用户配置为一个道理


一、移除Git全局配置

因为我之前只有一个Git账户,于是就直接设置成全局的了,所以需要先进行移除(如果你不知道自己是不是进行的全局配置的话,可以直接进行这一步,第一次设置的可以跳过这一步,也能进行这一步操作,影响不大)。


1)打开CMD(win+R 输入cmd回车)输入下面的命令查看git全局配置
git config --list

2)移除全局配置的name、email、password等配置(如果没有配置这些,执行命令也不会出错)
#移除全局配置账户
git config --global --unset user.name
#查看全局用户名
git config --global user.name
# 移除全局配置邮箱
git config --global --unset user.email
# 查看全局邮箱
git config --global user.email
# 移除全局密码
git config --global --unset user.password
# 查看全局密码
git config --global user.password

二、生成并在GitHub、GitLab上部署SSH KEY

注意: 生成前请先确认下图的目录中是否已经有生成的ssh密钥,如果有请先删除

1)生成并在GitHub上部署SSH KEY

1.在CMD中输入下面的命令生成第一个账号的ssh key:

# user1@email.com替换为你的Github用户名
ssh-keygen -t rsa -C "user1@email.com"

如果不需要设置密码一直按回车键即可,结果如图:

2.进入当前用户的.ssh目录查看,生成的id_rsa私钥和id_rsa.pub公钥,并用编辑器打开公钥。

3.使用生成密钥的账号登录GitHub,进入【settings】-【SSH and GPG keys】,如下截图:

4.点击【New SSH key】按钮,进入新建SSH key页面,进入如下图设置:

5.添加完成后在CMD中输入以下命令测试该用户的SSH密钥是否生效:

ssh -T git@github.com

2)生成并在GitLab上部署SSH KEY

1.在CMD中输入下面的命令生成第二个账号的ssh key:

# -f 是为了重命名文件 防止覆盖之前的密钥 user2@email.com换成你GitLab的账号
ssh-keygen -t rsa -f ~/.ssh/id_rsa2 -C "user2@email.com"

2.进入当前用户的.ssh目录查看,生成的id_rsa私钥和id_rsa.pub公钥,并用编辑器打开公钥。

3.用刚刚生成密钥的用户账号登录GitLab,操作如下图:

4.添加完成后在CMD中输入以下命令测试该用户的SSH密钥是否生效:

#如果报错,直接试一下能不能拉取代码什么的,有时候是服务器设置的问题 我就说git不能使用,只能用http

ssh -T git@xxxxxx -i ~/.ssh/id_rsa2

三、配置config文件

1)在.ssh目录下创建一个config文本文件(没有后缀),每个账号配置一个Host节点。主要配置项说明:
Host      主机别名
HostName  服务器真实地址
IdentityFile  私钥文件路径
PreferredAuthentications  认证方式
User  用户名

配置内容:

# 别名可以随意写 服务器真实地址是ip就是ip 是域名就是域名
# 配置Github账号
Host user1.github.com
HostName github.com
IdentityFile C:\\Users\\lingh\\.ssh\\id_rsa
PreferredAuthentications publickey
User user1

# 配置GitLab
Host xxxx
HostName xx.xx.xx.xx
IdentityFile C:\\Users\\lingh\\.ssh\\id_rsa2
PreferredAuthentications publickey
User user2
2)终端测试SSH Key是否生效
#测试结果不重要,多用户配置成功 和 能够拉取代码就OK 实践出真知
ssh -T git@user1.github.comssh -T git@user2.github.com

四、配置账号和邮箱

注意: 需要为各仓库单独配置用户名和邮箱

进入项目目录,打开终端输入以下命令进行绑定(每个仓库都需配置):
#一定要配置正确的用户
git config user.name "user1"
git config user.email "user1@email.com"

#绑定完成可以输入下面的命令进行确认
#查看当前仓库用户名
git config  user.name
# 查看当前仓库邮箱
git config  user.email
# 查看当前仓库密码git config  user.password

关于配置Git多账户就已经结束了,如果发现有错误之处,请在文章下方留言,或者加入Q群进行反馈:点击链接加入群聊,谢谢!

微信扫一扫体验微信小程序
Last modification:September 21, 2022
If you think my article is useful to you, please feel free to appreciate