Git 多账户配置

情景:Git想配置多用户,一个连公司的Gitlab,一个连自己的Github

前提:以windows系统为例

1. 提高Github访问速度

如果访问速度快的话,可跳过此步骤

1. 修改host配置文件

  1. 访问IP/域名分别查询github.comassets-cdn.github.comgithub.global.ssl.fastly.net 三个域名的IP地址

  2. 修改hosts文件

hosts文件路径为C:\Windows\System32\drivers\etc\hosts

js 复制代码
//ip地址可能会随时变,配置之前先访问网站查询
20.205.243.166  github.com
185.199.111.153  assets-cdn.github.com
199.59.149.235  github.global.ssl.fastly.net
  1. 启用新的hosts

打开命令行界面,运行 ipconfig /flushdns

2. 八仙过海,各显神通

2. 清除Git全局用户信息

在使用git的时候,一般都会先配置了git全局用户信息。如果之前配置过git全局用户信息,首先需要清除全局用户信息

js 复制代码
git config --global --unset user.name //清除全局用户名
git config --global --unset user.email //清除全局邮箱

3. 生成SSH密钥

密钥对默认保存在C:\Users\user.ssh(各个电脑路径名称可能有区别)目录下,先删除原先的id_rsa、id_rsa.pub

1. 生成 github 仓库密钥

在github中运行:

js 复制代码
ssh-keygen -t rsa -C "<你的github邮箱地址>"

按下 ENTER 键后,会有如下提示:

在这里输入公钥的名字,默认情况是叫 id_rsa,为了和后面的 gitlab 配置区分,这里输入 id_rsa_github。输入完毕后,一路回车。

2. 生成 gitlab 仓库密钥

步骤和上面一样,运行:

js 复制代码
ssh-keygen -t rsa -C "<name@test.com>"

文件名改为:id_rsa_gitlab

4. 添加公钥

将公钥分别保存在Github,GitLab的用户Settings > SSH keys中

5. 添加私钥

在对应项目中打开git运行以下命令

  1. 打开管理私钥权限
js 复制代码
ssh-agent bash
  1. 添加私钥
js 复制代码
ssh-add /c/Users/user/.ssh/id_rsa_github //将GitHub私钥添加到本地
ssh-add /c/Users/user/.ssh/id_rsa_gitlab //将GitLab私钥添加到本地

添加完毕后,可以通过执行 ssh-add -l 验证下,如果都能显示出来和下面一样,就 OK 了

6. 管理密钥

通过以上步骤,公钥、密钥分别被添加到 git 服务器和本地了。下面我们需要在本地创建一个密钥配置文件,通过该文件,实现根据仓库的 remote 链接地址自动选择合适的私钥。

在.ssh文件夹下,新建config(提示:没有文件后缀)

js 复制代码
Host github.com
HostName github.com
User xxx
IdentityFile /c/Users/user/.ssh/id_rsa_github

Host git.finchina.com
HostName git.finchina.com
User xxx
IdentityFile /c/Users/user/.ssh/id_rsa_gitlab

Host:仓库网站域名(或IP 地址)

HostName:仓库网站域名(IP 地址)

User:仓库网站上的用户名

IdentityFile:私钥的绝对路径(配置自己电脑的文件保存地址)

7. 仓库配置

全局用户信息已被清除了,我们需为每个项目单独配置用户名信息,在对应项目中打开git运行以下命令(gitlab、github二选一)

1. 配置gitlab

js 复制代码
git config --local user.name "用户名" git config --local user.email "<邮箱地址>"

连接测试,运行

js 复制代码
ssh -T git.finchina.com

2. 配置github

js 复制代码
git config --local user.name "用户名" git config --local user.email "邮箱地址"

连接测试,运行

js 复制代码
ssh -T <git@github.com>

如果连接成功,会返回

配置完成!!!

相关推荐
Hommy888 小时前
【开源剪映小助手】API 接口文档
开源·github·aigc·视频剪辑自动化·剪映api
QQ1__8115175158 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
钛态8 小时前
前端微前端架构:大项目的救命稻草还是自找麻烦?
前端·vue·react·web
一粒黑子8 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
独角鲸网络安全实验室8 小时前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离
紫微AI8 小时前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
GISer_Jing8 小时前
AI前端(From豆包)
前端·aigc·ai编程
IT枫斗者8 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
测试修炼手册8 小时前
[测试技术] 深入理解 JSON Web Token (JWT)
前端·json
AI老李8 小时前
2026 年 Web 前端开发的 8 个趋势!
前端