最近几天因为要同时维护个人和公司的项目,公司用的是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群进行反馈:点击链接加入群聊,谢谢!
版权属于:Citrons
本文链接:https://www.citrons.cn/note/284.html
转载时须注明出处及本声明
One comment
这个玩意有用!