Windows下Gitlab多账号配置(SSH)终极解决方案
多 Git 账号管理(SSH 模式)
动机:
我在使用多个 Git 账号时经常遇到麻烦:每次切换账号都要重新登录,尤其是在浏览器中进行身份验证时,问题更明显。我的默认浏览器是 Edge,而 GitHub 的登录信息却保存在 Chrome 中,每次跳转认证流程都让人头皮发麻。
此外,公司使用 GitLab,强制要求 SSH;而我个人的 GitHub 账号之前是通过 HTTPS 操作的。这样搞下来,在公司和个人项目之间频繁切换,不仅需要反复输入密码,commit 记录也可能出错。
适用于以下场景:
- 公司项目强制要求使用 SSH 方式进行 clone 或其他 Git 操作。
- 多账号频繁使用时,推荐使用 SSH;偶尔使用可选择 GitHub Desktop、封装 Git 的 IDE,或浏览器登录切换。
- 拥有 3 个及以上 Git 账号时,浏览器切换效率低,建议使用 SSH。
1. 生成 SSH 密钥对
为每个账号生成一对公钥和私钥:
# 个人 GitHub 账号
ssh-keygen -t ed25519 -C "xxxyyy@gmail.com" -f ~/.ssh/id_ed25519_personal
# 公司 GitHub 账号
ssh-keygen -t ed25519 -C "xxxyyy@your-company.com" -f ~/.ssh/id_ed25519_company_github
# 公司 GitLab 账号
ssh-keygen -t ed25519 -C "xxxyyy@your-company.com" -f ~/.ssh/id_ed25519_company_gitlab

2. 配置 SSH 配置文件
在 C:\Users\你的用户名\.ssh\config 中配置如下内容:
# Company GitHub account
Host github.com-company
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_companyGithub
# Company GitLab account
Host gitlab.com-company
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519_companyGitlab
# Personal GitHub account
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
3. 创建账号专属的项目目录和配置文件
3.1 创建三个文件夹
建议将不同账号的项目放在不同路径中,例如:
C:/Projekte/Personal/
C:/Projekte/CompanyGithub/
C:/Projekte/CompanyGitlab/

3.2 分别创建 .gitconfig 文件
个人 GitHub 账号:C:\Users\你的用户名\.gitconfig-personal
[user]
name = xxxyyy
email = xxxyyy@gmail.com
公司 GitHub 账号:C:\Users\你的用户名\.gitconfig-company-github
[user]
name = xxxyyy-dev0511
email = xxxyyy@your-company.com
公司 GitLab 账号:C:\Users\你的用户名\.gitconfig-company-gitlab
[user]
name = xxxyyy
email = xxxyyy@your-company.com
3.3 验证配置
git config --file C:/Users/你的用户名/.gitconfig-personal --list
git config --file C:/Users/你的用户名/.gitconfig-company-github --list
git config --file C:/Users/你的用户名/.gitconfig-company-gitlab --list
4. 配置全局 .gitconfig 文件
在 C:\Users\你的用户名\.gitconfig 中添加如下内容:
[user]
name = xxxyyy
email = xxxyyy@your-company.com
[includeIf "gitdir:C:/Projekte/Personal/"]
path = C:/Users/JinyaoChen/.gitconfig-personal
[includeIf "gitdir:C:/Projekte/CompanyGithub/"]
path = C:/Users/JinyaoChen/.gitconfig-company-github
[includeIf "gitdir:C:/Projekte/CompanyGitlab/"]
path = C:/Users/JinyaoChen/.gitconfig-company-gitlab
5. 使用 SSH clone 多账号项目
5.1 Clone 公司 GitLab 项目
git clone git@gitlab.com-company:ComnanyRepo/kelvin5/iris/k5-graphql.git
5.2 Clone 公司 GitHub 项目
git clone git@github.com-company:ComnanyRepo/Grafana-Docker.git
5.3 Clone 个人 GitHub 项目
git clone git@github.com-personal:cjy513203427/IADBE.git
Windows下Gitlab多账号配置(SSH)终极解决方案的更多相关文章
- 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理
Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...
- Windows下Git多账号配置,同一电脑多个ssh-key的管理
这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作. <Git-Tort ...
- Windows下Git多账号ssh-key(复制自己用)
Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下 ...
- Nginx + Tomcat Windows下的负载均衡配置
Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡? Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...
- Windows下pry安装和配置
Windows下pry安装和配置 pry是一个增强型的交互式命令行工具,比irb强大. 有自动完成功能,自动缩进,有颜色.有更强大的调试功能. pry 安装很简单. 在终端输入: gem instal ...
- 【Objective-C】Windows下Objective-C开发环境配置
[Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/ 最近打 ...
- Windows下Apache+mod_python+Django配置
Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...
- Mysql在windows下的免安装配置步骤和重新安装的步骤
windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...
- windows下spark开发环境配置
http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...
- ACE在windows下的编译及配置(VS2010)
ACE在windows下的编译及配置(VS2010) 分类: -[小西南]- 2013-08-06 16:17 2354人阅读 评论( ...
随机推荐
- ASP.NET Core 全球化和本地化
留备后观... Globalization and localization in ASP.NET Core 体验 ASP.NET Core 中的多语言支持(Localization)
- HTML5
转
贴个图:
- MCP Server Java 开发框架的体验比较(spring ai mcp 和 solon ai mcp)
目前已知的两个 mcp-server java 应用开发框架(ID类的,封装后体验都比较简洁): spring-ai-mcp,支持 java17 或以上 solon-ai-mcp,支持 java8 或 ...
- 游戏开发之Cocos3着色器/shader快速入门
本文为学习笔记,不排除有谬误,但确保都是亲测.另外,傻狗百度收不收录的无所谓,我来博客园就是为了记记笔记. 对于新人,首先明确一点:shader需要通过材质的方式作用于模型上 所以有个很关键的步骤,c ...
- CF1648A题解
题意: 给定 n×mn\times mn×m 的矩阵,求相同的数的曼哈顿距离和. 思路: 曼哈顿距离:disi→j=∣xj−xi∣+∣yj−yi∣dis_{i\to j}=|x_j - x_i| + ...
- PHP实现文件上传下载实例详细讲解
一.上传原理与配置 1.1 原理 将客户端文件上传到服务器端,再将服务器端的文件(临时文件)移动到指定目录即可. 1.2 客户端配置 所需:表单页面(选择上传文件): 具体而言:发送方式为POST,添 ...
- SpringBoot整合JDBC--数据源
目录 1 新建SpringBoot项目 1.1 导入pom依赖文件 2 通过@PropertySource注解读取配置文件 2.1 新建jdbc.properties文件 2.2 新建配置类,加载配置 ...
- 编译报错出现原因以及处理方法之Error:(1, 1) java: 非法字符: ‘\ufeff‘
问题 记录遇到的异常和总结处理的过程,希望能给到自己和别人帮助. Error:(1, 1) java: 非法字符: '\ufeff' 编译过程中出现报错Error:(1, 1) java: 非法字符: ...
- Python 3.14 新特性盘点,更新了些什么?
Python 3.14.0 稳定版将于 2025 年 10 月正式发布,目前已进入 beta 测试阶段.这意味着在往后的几个月里,3.14 的新功能已冻结,不再合入新功能(除了修复问题和完善文档). ...
- git管理Unity项目
git管理Unity项目的正确打开方式 在创建仓库的时候进行初始化仓库,选择.gitignore模版的时候选择Unity,就能自动过滤不需要的文件 原文链接:https://blog.csdn.net ...