IDEA配置多个git账号/ 同一电脑上使用2个git账号根据项目进行拉去、提交代码

在idea中根据项目使用不同的git账户

简介

在公司电脑上学习或开发代码时,很多人希望能把自己的代码保存到 个人 Git 仓库 中,既能进行版本管理,又能方便以后复盘和使用。
但在实际操作中常常会遇到一个问题:

公司电脑通常已经配置了 公司 Git 账号,如果直接上传代码,很可能会被提交到公司账号下,而不是个人账号,这就带来了困扰

我也在网上找过不少相关文章,但大多数要么写得太简略,要么会省去一些步骤,或者默认读者已经熟悉 Git,对我来说并不够友好。

刚好我根据AI把这个问题搞定了,我打算写一篇更为详细的 Git 双账号操作攻略,帮助大家也帮助我,在公司环境下既能使用公司账号进行日常开发,又能用个人账号来管理自己的项目。

开始

在 IntelliJ IDEA 中为不同项目配置不同的 Git 账号(如公司账号和个人账号),可以通过 SSH 密钥隔离 + 局部 Git 配置 的组合方案实现,全程无需手动切换全局设置。以下是 最简洁的操作流程,
分 4 步完成:

一、核心原理:SSH 密钥隔离与局部配置

  1. SSH 密钥隔离:
    为每个 Git 账号生成独立的 SSH 密钥对,并通过 .ssh/config 文件告诉 Git 哪个仓库用哪个密钥。
  2. 局部 Git 配置:
    在每个项目的根目录单独设置 user.name 和 user.email,覆盖全局配置。

二、分步操作指南(Windows/macOS/Linux 通用)

(一)生成独立 SSH 密钥

将公钥添加到 Git 平台:
登录 GitHub/GitLab/Gitee → 账户设置 → SSH Keys → 添加公钥内容gitee:

gitee中SSH公钥页面图

gitlab/极狐:

gitlab/极狐中SSH公钥页面图

右键使用文本框打开,复制 .pub 文件内容, 将内容放入 秘钥/公钥 中保存即可注意:将公司公钥放到公司账号下,个人公钥放到个人账号下

打开Git Bash(Windows)或终端(macOS/Linux):

注意: 在生成 SSH Key 时,请务必先进入用户主目录下的 .ssh 文件夹 。
否则如果你在其他目录下直接执行 ssh-keygen,系统会在当前目录生成 key 文件,导致找不到或者后续配置混乱。
(我就吃过亏(T_T) )
cd ~/.ssh # 直接进入用户主目录的 .ssh 文件夹

执行下方,生成公司和个人的秘钥

# 生成公司账号密钥(自定义文件名:id_rsa_work) ssh-keygen -t rsa -C "公司邮箱" -f ~/.ssh/id_rsa_work # 生成个人账号密钥(自定义文件名:id_rsa_personal) ssh-keygen -t rsa -C "个人邮箱" -f ~/.ssh/id_rsa_personal # 这个邮箱并不是必须的邮箱验证账号,它主要是做为一个标识# 一般写邮箱是为了方便分辨,通过邮箱能清楚地知道这个 key 是给哪个账号用的

全程按回车(不设密码),生成后 .ssh 目录会出现:

id_rsa_work (公司私钥)
id_rsa_work.pub (公司公钥)
id_rsa_personal (个人私钥)
id_rsa_personal.pub (个人公钥)

(二)配置 SSH 自动匹配规则 (关键)

在 .ssh 目录创建 config 文件(无后缀)

echo""> ~/.ssh/config # 新建文件(Windows 用 Git Bash 执行)

这时候.ssh下面就有5个文件

.ssh文件

2.编辑 config 文件,添加内容

# 公司仓库(假设 Git 地址为公司git地址 git.example.com) Host work-git HostName git.example.com # 实际 Git 服务器域名 User git# 固定为 git IdentityFile ~/.ssh/id_rsa_work # 关联公司私钥(没有改第一步的名称就不用动) IdentitiesOnly yes# 强制使用指定密钥# 个人仓库(假设 Git 地址为 github.com) Host personal-git HostName github.com # 实际 Git 服务器域名 User git# 固定为 git IdentityFile ~/.ssh/id_rsa_personal # 关联个人私钥(没有改第一步的名称就不用动) IdentitiesOnly yes# 强制使用指定密钥# 注意: HostName 这个地方地址指的实际Git服务器域名# 什么意思呢? # 比如拿开源的项目举例:# gitee的项目地址为: https://gitee.com/y_project/RuoYi.git # 实际的Git服务器域名为:gitee.com# github的项目地址为:https://github.com/yangzongzhuan/RuoYi.git# 实际的Git服务器域名为:github.com#如果你是公司本地的Git地址 或者 gitlab、极狐等,显而易见Git服务器域名就是地址栏中的服务器域名 # 如果公司和个人都是gitee那都填写gitee.com

验证配置是否生效

# 测试公司仓库连接ssh -T git@work-git # 测试个人仓库连接ssh -T git@personal-git # work-git 和 personal-git 就是上方config文件中 Host 的名称

若输出 You’ve successfully authenticated…,说明配置正确。

本人是采用gitee和gitlab 分别作为公司和个人的仓库,返回的结果也不一致,
**如图所示:*

验证配置是否生效图

(三)在 IDEA 中仓库使用别名

用之前配置的 SSH 别名简化仓库操作让 Git 自动匹配对应的密钥(公司 / 个人账号), 无需手动指定密钥路径 

将原先的 Git 仓库地址(HTTPS 协议)改为 SSH 别名格式(work-git)

拿Gitee上的开源框架举例: 原地址为: https://gitee.com/y_project/RuoYi.git 从这个地址中提取两个核心信息(后续改地址要用到) 用户名:y_project(地址中 gitee.com/ 后面、/RuoYi.git 前面的部分); 仓库名:RuoYi(地址中最后一个 / 后面、.git 前面的部分)。 根据之前的配置,work-git 是公司账号的 SSH 别名,其SSH地址格式为: git@work-git:用户名/仓库名.git 将提取的「用户名」和「仓库名」填进去,最终目标地址为: git@work-git:y_project/RuoYi.git 

个人项目修改
根据上方样例修改个人项目仓库地址

git@personal-git:个人用户名/仓库名.git 

公司项目仓库修改
根据上方样例修改公司项目仓库地址

git@work-git:公司用户名/仓库名.git 

执行修改远程地址的命令

在 IDEA 中打开你公司的项目,进入 底部 Terminal 终端,按以下步骤操作:

验证是否修改成功

git remote -v 

如果输出变成下面这样,说明修改成功:

# 拿work-git举例: origin git@work-git:用户名/仓库名.git (fetch) origin git@work-git:用户名/仓库名.git (push)

执行修改命令

# 在公司/个人项目中 执行 刚刚修改好的SSH地址git remote set-url origin git@work-git:用户名/仓库名.git git remote set-url origin git@personal-git:用户名/仓库名.git # 如果在执行语句时,报错: error: No such remote 'origin'# 是因为当前 Git 仓库中根本没有名为 “origin” 的远程仓库,所以无法使用# git remote set-url 命令修改它(这个命令是用来修改 “已存在” 的远程仓库地址的)。 # 需要添加新的远程仓库 git remote add origin origin git@work-git:用户名/仓库名.git git remote add origin origin git@personal-git:用户名/仓库名.git # 注意: 我是将公司和个人的命令的示例展示出来了,请不要直接复制,需要修改为自己的地址

执行命令

git remote -v 

输出会类似这样(显示原 HTTPS 地址):

# 当前htts地址为示例地址, 请按照自己项目地址进行对照 origin https://gitee.com/y_project/RuoYi.git (fetch) origin https://gitee.com/y_project/RuoYi.git (push)

(origin 是远程仓库的默认名称,不用改)

(四)配置项目局部Git身份(提交记录显示正确作者)

  1. 在 IDEA 中打开项目,进入 Terminal(底部工具栏)
  2. 设置公司项目的提交身份:
git config user.name "公司姓名" git config user.email "公司邮箱@example.com" 
  1. 设置个人项目的提交身份:
git config user.name "个人姓名" git config user.email "个人邮箱@example.com" 

!注意: 当前 步骤2、 3 设置提交身份,只是定义当前项目的提交作者身份(git提交记录中的身份信息),完全不影响代码上传的地址

(五)验证当前项目配置

分别在公司项目和个人项目验证

git config --list # 查看当前项目配置

当前git config --list 的输出,如果当前配置内容较多时,Git 会自动用分页器展示

要退出这个查看界面,只需要按键盘上的 q 键(quit 的缩写,意为 “退出”),就能回到终端的可输入状态

三、IDEA中确认仓库地址

打开IDEA在菜单栏中找打Manage Remotes

idea菜单栏图

当前菜单栏如果没有Git,那 VCS 也是一样的

git菜单栏图


来到下方页面,查看是否是 修改好的SSH地址

Git Remotes页面图


如果当前地址不是修改好的 SSH地址 ,将地址点击-删除

然后点击左上角的+重新添加

添加远程仓库地址图


当前需要输入 Name 和 URL

Name 最好为默认的 origin URL 为之前的SSH地址 ,如: git@work-git:y_project/RuoYi.git 
远程仓库地址


点击ok后,就配置好了,会出现下方图中 存在当前仓库的路径

在这里插入图片描述


到这里,基本配置就完成了,你已经可以根据不同账号来拉取代码、提交代码等操作了。

结束(以下内容可省略)


不过,在我实际操作时,点击 OK 保存配置时会弹出一个新的认证页面(当时也卡了一会😅),所以也记录下来,避免其他同事/同学踩坑。

我当时使用的是gitlab的国内版极狐,点击ok后会弹出账户认证页面,如下
极狐认证

如何获取Token?

1.登录 jihulab.com 账号。
2. 进入个人设置(点击头像 → 找到 “Settings” 或 “偏好设置”)。
3. 找到 “Access Tokens”(访问令牌) 选项(通常在 “Settings” 下的子菜单)。
生成令牌时,必须勾选 api 和 read_user 这两个权限范围(界面提示这两个是必需的,用于 让 IDEA 访问 GitLab API 和用户信息)。
4. 点击 “生成令牌” 后,会得到一个令牌字符串,将其复制到 IDEA 的 Token 输入框中。

如果出现问题: “GraphQL error: [Unexpected end of document]” 错误

检查 Token 有效性
登录 jihulab.com,重新生成Access Token(确保勾选 api 和 read_user 权限)。
复制 Token 时,确认字符完整(没有少复制、多复制或包含多余空格)。验证 Server 地址
将 Server 地址从 http://jihulab.com 改为 https://jihulab.com(HTTPS 更安全,兼容性更好)

Read more

Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务-适配鸿蒙 HarmonyOS ohos

Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务-适配鸿蒙 HarmonyOS ohos

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务并全面实现无损语言壁垒交互 前言 在 OpenHarmony 应用向高性能计算领域扩展的过程中,如何优雅地接入已有的 C/C++ 算法库(如加密引擎、重型图像处理、数学模拟)而又不失跨平台的便捷性?传统的 NAPI 虽然稳健,但在 Flutter 生态中,直接利用 WebAssembly (WASM) 配合 FFI(External Function Interface)的语义可以在一定程度上实现代码的高度复用。wasm_ffi 库为 Flutter 开发者提供了一套在 Dart 环境下调用 WASM

By Ne0inhk
三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

文章目录 * **第一部分:引言与核心密码学概念** * **1.1 为什么IM需要端到端加密(E2EE)?** * **1.2 核心密码学概念与工具** * **第二部分:方案一:静态非对称加密(基础方案)** * **2.1 方案概述与流程** * **2.2 前端Vue实现(使用node-forge)** * **1. 安装依赖** * **2. 核心工具类 `crypto.js`** * **3. Vue组件中使用** * **2.3 后端Java实现(Spring Boot)** * **1. 实体类** * **2. Controller层** * **3. WebSocket配置** * **2.4 密钥管理、注册与登录集成** * **1. 用户注册/登录时生成密钥** * **2. 密钥设置页面** * **2.

By Ne0inhk
前端代码生成的大洗牌:当 GLM 4.7 与 MiniMax 挑战 Claude Opus,谁才是性价比之王?

前端代码生成的大洗牌:当 GLM 4.7 与 MiniMax 挑战 Claude Opus,谁才是性价比之王?

在 AI 辅助编程领域,长期以来似乎存在一条不成文的铁律:如果你想要最好的结果,就必须为最昂贵的模型买单(通常是 Anthropic 或 OpenAI 的旗舰模型)。然而,随着国产大模型如 GLM 4.7 和 MiniMax M2.1 的迭代,这一格局正在发生剧烈震荡。 最近,一场针对Claude Opus 4.5、Gemini 3 Pro、GLM 4.7 和 MiniMax M2.1 的前端 UI生成横向测评,打破了许多人的固有认知。在这场包含落地页、仪表盘、移动端应用等五个真实场景的较量中,不仅出现了令人咋舌的“滑铁卢”,更诞生了性价比极高的“新王”。 本文将深入拆解这场测试的细节,透过代码生成的表象,探讨大模型在工程化落地中的真实效能与成本逻辑。

By Ne0inhk
【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * JavaScript 正则表达式详解 * 什么是正则表达式🤔 * JavaScript 正则表达式的定义与使用🥝 * 1. 字面量语法 * 2. 常用匹配方法 * test() 方法🍋‍🟩 * exec() 方法🍋‍🟩 * 正则表达式的核心组成部分🐦‍🔥 * 1. 元字符 * 边界符 * 量词 * 字符类 * 2. 修饰符 * 简单示例🍂 JavaScript 正则表达式详解 正则表达式是处理字符串的强大工具,在 JavaScript 中被广泛应用于表单验证、文本处理和数据提取等场景。本文将从正则表达式的基本概念出发,详细介绍其语法规则和实际应用方法。 什么是正则表达式🤔 正则表达式是用于匹配字符串中字符组合的模式,在 JavaScript

By Ne0inhk