多 Git 账号管理(SSH 模式)

动机

我在使用多个 Git 账号时经常遇到麻烦:每次切换账号都要重新登录,尤其是在浏览器中进行身份验证时,问题更明显。我的默认浏览器是 Edge,而 GitHub 的登录信息却保存在 Chrome 中,每次跳转认证流程都让人头皮发麻。

此外,公司使用 GitLab,强制要求 SSH;而我个人的 GitHub 账号之前是通过 HTTPS 操作的。这样搞下来,在公司和个人项目之间频繁切换,不仅需要反复输入密码,commit 记录也可能出错。

适用于以下场景

  1. 公司项目强制要求使用 SSH 方式进行 clone 或其他 Git 操作。
  2. 多账号频繁使用时,推荐使用 SSH;偶尔使用可选择 GitHub Desktop、封装 Git 的 IDE,或浏览器登录切换。
  3. 拥有 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)终极解决方案的更多相关文章

  1. 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理

    Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...

  2. Windows下Git多账号配置,同一电脑多个ssh-key的管理

    这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作. <Git-Tort ...

  3. Windows下Git多账号ssh-key(复制自己用)

    Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下 ...

  4. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  5. Windows下pry安装和配置

    Windows下pry安装和配置 pry是一个增强型的交互式命令行工具,比irb强大. 有自动完成功能,自动缩进,有颜色.有更强大的调试功能. pry 安装很简单. 在终端输入: gem instal ...

  6. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

  7. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

  8. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  9. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  10. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

随机推荐

  1. ASP.NET Core 全球化和本地化

    留备后观... Globalization and localization in ASP.NET Core 体验 ASP.NET Core 中的多语言支持(Localization)

  2. HTML5 转

    贴个图:

  3. MCP Server Java 开发框架的体验比较(spring ai mcp 和 solon ai mcp)

    目前已知的两个 mcp-server java 应用开发框架(ID类的,封装后体验都比较简洁): spring-ai-mcp,支持 java17 或以上 solon-ai-mcp,支持 java8 或 ...

  4. 游戏开发之Cocos3着色器/shader快速入门

    本文为学习笔记,不排除有谬误,但确保都是亲测.另外,傻狗百度收不收录的无所谓,我来博客园就是为了记记笔记. 对于新人,首先明确一点:shader需要通过材质的方式作用于模型上 所以有个很关键的步骤,c ...

  5. CF1648A题解

    题意: 给定 n×mn\times mn×m 的矩阵,求相同的数的曼哈顿距离和. 思路: 曼哈顿距离:disi→j=∣xj−xi∣+∣yj−yi∣dis_{i\to j}=|x_j - x_i| + ...

  6. PHP实现文件上传下载实例详细讲解

    一.上传原理与配置 1.1 原理 将客户端文件上传到服务器端,再将服务器端的文件(临时文件)移动到指定目录即可. 1.2 客户端配置 所需:表单页面(选择上传文件): 具体而言:发送方式为POST,添 ...

  7. SpringBoot整合JDBC--数据源

    目录 1 新建SpringBoot项目 1.1 导入pom依赖文件 2 通过@PropertySource注解读取配置文件 2.1 新建jdbc.properties文件 2.2 新建配置类,加载配置 ...

  8. 编译报错出现原因以及处理方法之Error:(1, 1) java: 非法字符: ‘\ufeff‘

    问题 记录遇到的异常和总结处理的过程,希望能给到自己和别人帮助. Error:(1, 1) java: 非法字符: '\ufeff' 编译过程中出现报错Error:(1, 1) java: 非法字符: ...

  9. Python 3.14 新特性盘点,更新了些什么?

    Python 3.14.0 稳定版将于 2025 年 10 月正式发布,目前已进入 beta 测试阶段.这意味着在往后的几个月里,3.14 的新功能已冻结,不再合入新功能(除了修复问题和完善文档). ...

  10. git管理Unity项目

    git管理Unity项目的正确打开方式 在创建仓库的时候进行初始化仓库,选择.gitignore模版的时候选择Unity,就能自动过滤不需要的文件 原文链接:https://blog.csdn.net ...