Git多用户配置
使用 config 方法解决一台电脑配置两个 gitee 账号的问题
生成密钥
解决同一台电脑生成两份或多份 ssh 密钥、公钥映射两个或多个 GitHub 账号
使用 ssh-keygen 生成 2 组不同邮箱的秘钥对
ssh-keygen -t rsa -C "username1@email.com" -f ~/.ssh/id_rsa_self
ssh-keygen -t rsa -C "username2@email.com" -f ~/.ssh/id_rsa_work
配置多用户的 SSH Keys
-
生成两组秘钥
在.ssh 中生成 2 组秘钥,并设置一个 config 文件 -
制作批处理文件
在.ssh/bat 中设置两个.bat 批处理文件
目录结构大致是这样
.ssh
│ config
│ id_rsa_self
│ id_rsa_self.pub
│ id_rsa_work
│ id_rsa_work.pub
│ known_hosts
│
└─bat
self.bat
self.config
work.bat
work.config
self 版本
以 self 为例编写脚本
self.config 内容如下
# 个人的gitee公钥
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
# 指定特定的ssh私钥文件
IdentityFile ~/.ssh/id_rsa_self
该文件分为多个用户配置,每个用户配置包含以下几个配置项:
- Host:仓库网站的别名,随意取
- HostName:仓库网站的域名(PS:IP 地址应该也可以)
- IdentityFile:私钥的绝对路径
self.bat 内容如下
copy /d %~dp0\self.config /d %~dp0..\config /Y
work 版本
# 个人的gitee公钥
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
# 指定特定的ssh私钥文件
IdentityFile ~/.ssh/id_rsa_work
copy /d %~dp0\work.config /d %~dp0..\config /Y
- 把
.ssh\bat
所在这个目录加入到 windows 的 path 路径中 - 使用 cmd 命令行打开,需要工作仓库的时候,在 cmd 命令行内部输入"work"命令。需要切换回个人的时候,就在 cmd 命令行输入"self"命令就行了
通过 ssh-add 添加密钥至 ssh-agent 中
ssh-add ~/.ssh/id_rsa_self
ssh-add ~/.ssh/id_rsa_work
测试配置是否成功
ssh -T git@github.com
ssh -T git@gitee.com
配置多用户的用户名和邮箱
全局信息
一般来说,安装好 git 后,我们都会配置一个全局的 config 信息,就像这样:
git config --global user.name "username" // 配置全局用户名,如 Github 上注册的用户名
git config --global user.email "username@email.com" // 配置全局邮箱,如 Github 上配置的邮箱
重新配置信息
在正式配置之前,我们先得把全局配置给清除掉(如果你配置过的话),执行命令:
git config --global --unset user.name
git config --global --unset user.email
git 的配置分为三级别,System —> Global —>Local。System 即系统级别,Global 为配置的全局,Local 为仓库级别,优先级是 Local > Global > System。
因为我们并没有给仓库配置用户名,又在一开始清除了全局的用户名,因此此时你提交的话,就会使用 System 级别的用户名,也就是你的系统主机名了。
因此我们需要为每个仓库单独配置用户名信息,假设我们要配置 github 的某个仓库,进入该仓库后,执行:
git config --local user.name "username"
git config --local user.email "username@email.com"
执行完毕后,通过以下命令查看本仓库的所有配置信息:
git config --local --list
参考链接:
廖雪峰的官方网站
https://houxin.blog.csdn.net/article/details/105386783
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)