git配置多账号

330 阅读3分钟

git配置多账号

最近由于想把自己的项目提交到gitHub上,因为要同时维护个人和公司的项目,所以需要配置多个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密钥,如果有请先删除

微信图片_20211222144420.png

image.png

注意:以上文件夹内容目前忽略,当前只做展示.ssh文件夹在生成第一个账号会自动生成。

具体路径根据自己的电脑有所不同,大体是这样。

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

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

# user1@email.com替换为你的Github用户名 
ssh-keygen -t rsa -C "user1@email.com"
注意:生成的时候在(如图)箭头这步输入名称以便区分。

image.png

第一对文件生成成功后,在重复上面步骤(注意:第二次生成的时候需要cmd进入.ssh目录,否则生成的文件不在这个目录中,生成的文件会在命令输入时的当前目录生成

以上步骤完成后

进入.ssh目录查看,生成的id_rsa私钥和id_rsa.pub公钥,并用编辑器打开公钥。(名称为你自己命名的为准)

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

image-20210903154303093.png

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

20181029150738371.png

2个账户做同样的操作(文件内容选取对应的内容)

三、配置config文件

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

配置内容: IdentityFile C:\Users\lingh.ssh\id_rsa 私钥(注意不是.pub文件) 此地址改为你自己电脑上文件地址

# 别名可以随意写 服务器真实地址是ip就是ip 是域名就是域名
# IdentityFile C:\Users\lingh\.ssh\id_rsa  此地址改为你自己电脑上文件地址
# 配置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

四、配置账号和邮箱

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

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

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