Git 多用户配置
目前同时使用Gitlab、Github、腾讯Coding,所以我的笔记本需要配置多个git用户。
基本环境
- Windows 10 操作系统
- 已安装Git
配置多个Git账号
1. 移除Git全局配置
如果之前没有配置过git账户,可直接跳至 【2. 配置 Git 多用户】
- 右键【Git Bash Here】打开Git命令行
- 输入命令:git config --list查看全局配置
- 使用以下命令移除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
2.配置 Git 多用户
各Git平台、user 、邮箱和主机名
Git平台 | username 用户名 | email邮箱 | hostname 主机名 |
---|---|---|---|
公司私有Git | yourname | yourname@git.company.com | git.company.com |
Github | nickname | nickname@github.com | github.com |
腾讯Coding | 123123123@qq.com | 123123123@qq.com | e.coding.net |
Gitee | giteename@163.com | giteename@163.com | gitee.com |
阿里 Git | alname@163.com | alname@163.com | codeup.aliyun.com |
打开【Git Bash】,输入:
- 生成公司 Gitlab 公钥
ssh-keygen -t rsa -C "yourname@git.company.com"
Gitlab的公钥名称输入:id_rsa_gitlab
- 生成 Github 公钥
ssh-keygen -t rsa -C "nickname@github.com"
Gitlab的公钥名称输入:id_rsa_github
- 生成 Coding 公钥
ssh-keygen -t rsa -C "123123123@qq.com"
Gitlab的公钥名称输入:id_rsa_coding
- 生成 Gitee 公钥
ssh-keygen -t rsa -C "giteename@163.com"
Gitlab的公钥名称输入:id_rsa_gitee
- 生成 Aliyun 公钥
ssh-keygen -t rsa -C "alname@163.com"
Gitlab的公钥名称输入:id_rsa_aliyun
- 将各枚公钥添加到各个平台
登录各个 gitlab 平台,将生成的公钥提交到平台当中。
- 添加私钥
将公钥添加到服务器上后,还需要将私钥添加到本地中,不然无法使用
# 启用代理模式
ssh-agent bash
# 将 Gitlab 私钥添加到本地
ssh-add ~/.ssh/id_rsa_gitlab
# 将 Github 私钥添加到本地
ssh-add ~/.ssh/id_rsa_github
# 将 Coding 私钥添加到本地
ssh-add ~/.ssh/id_rsa_coding
# 将 Gitee 私钥添加到本地
ssh-add ~/.ssh/id_rsa_gitee
# 将 Aliyun 私钥添加到本地
ssh-add ~/.ssh/id_rsa_aliyun
# 验证用户
ssh -T git@git.company.com
ssh -T git@github.com
ssh -T git@e.coding.net
ssh -T git@gitee.com
ssh -T git@codeup.aliyun.com
添加完毕后,可以通过执行 ssh-add -l
进行验证。
3. 配置config文件
config文件目录在 ~/.ssh ,~ 符号代表用户根目录。
例如,完整目录为:C:Usersusername\.ssh
创建文件,完整名为:config
# 公司gitlab
Host gitlab
HostName git.company.com
User yourname
IdentityFile ~/.ssh/id_rsa_gitlab
# GitHub
Host github
HostName github.com
User nickname
IdentityFile ~/.ssh/id_rsa_github
# 腾讯Coding
Host coding
HostName e.coding.net
User 123123123@qq.com
IdentityFile ~/.ssh/id_rsa_coding
# Gitee
Host gitee
HostName gitee.com
User giteename@163.com
IdentityFile ~/.ssh/id_rsa_gitee
# Aliyun
Host aliyun
HostName codeup.aliyun.com
User alname@163.com
IdentityFile ~/.ssh/id_rsa_aliyun
该文件分为多个用户配置,每个用户配置包含以下几个配置项:
- Host:Git 平台的别名,clone仓库时,可以替代 HostName 来使用
- HostName:Git 平台的域名(PS:IP 地址应该也可以)
- User:邮箱或用户名
- IdentityFile:私钥路径
4. 配置仓库
配置了Git多用户,每次克隆仓库后,需要给每个仓库配置用户名与邮箱,这样仓库在提交代码的时候,程序才知道提交的服务器是哪个,也就知道了该使用哪个用户的密钥。
git clone xxxxxxx(git仓库地址)
# 配置用户名
git config user.name "nickname"
# 配置邮箱
git config user.email "nickname@github.com"
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭