跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

IntelliJ IDEA 集成 GitLab 完整工作流指南

详细讲解了在 IntelliJ IDEA 中配置 Git 并与 GitLab 集成的全过程。内容包括环境配置、项目克隆导入、基础运行、代码提交与推送、分支创建与管理、合并冲突解决以及提交历史查看与还原。旨在帮助开发者掌握高效的版本控制工作流,提升团队协作效率。

涅槃凤凰发布于 2026/3/29更新于 2026/10/24117 浏览

前言

本文将详细介绍如何通过 IntelliJ IDEA 实现与 GitLab 集成,完成完整的 Git 工作流程。主要内容包括:IDEA 的 Git 配置、GitLab 项目创建与导入,以及日常开发中最常用的 Git 操作,涵盖代码提交与推送、分支管理、合并冲突解决和提交历史查看/回滚等核心功能。

系统:macOS;IDE:IntelliJ IDEA;版本控制:Git;托管平台:GitLab。

一、IDEA 配置 Git

打开 IDEA -> 点击右上角设置图标 -> 偏好设置 -> 搜索 Git

在版本控制目录下 -> 点击 Git -> Git 可执行文件路径:通常为 /usr/local/bin/git

图片

二、GitLab 创建项目并导入 IDEA

  1. 登录 GitLab -> 点击 Menu -> Projects -> Your projects -> new project 创建一个新项目
  2. 项目创建后,自动跳转到项目页面,点击 Clone -> Clone with SSH 右侧的复制按钮,SSH 路径结构:ssh://[email protected]:xxx/xxx/my_project.git

项目导入 IDEA 有两种方式,可自行选择:

方式一: 打开 IDEA -> 点击克隆仓库 -> URL 填入复制的 SSH URL,目录为本地电脑存放项目代码目录 -> 克隆,即可进入项目界面。

方式二:

  1. 在终端进入存放项目代码目录,例如:
cd /Users/mac/Desktop/test 
  1. 克隆仓库:
git clone ssh://[email protected]:xxx/xxx/my_project.git 

克隆完成后,会出现以下提示:

图片

  1. 打开 IDEA,打开克隆后的项目,即可进入项目界面。

三、IDEA 运行项目

在合作开发的场景下,克隆的项目都不为空,因此这里使用 AI 助手创建了一个简单的 JAVA 项目,没有涉及架构,仅用于学习 Git。项目架构如下:

gitlab_test/
├── README.md # 项目说明文档
├── TECHNICAL_DOCUMENTATION.md # 技术文档(本文件)
├── .gitignore # Git 忽略文件配置
├── pom.xml # Maven 项目配置文件
├── config/ # 配置文件目录
│ └── app.properties # 应用配置文件
└── src/ # 源代码目录
    ├── main/ # 主代码目录
    │ └── java/ # Java 源代码
    │ └── com/
    │ └── example/ # 包名
    │ ├── HelloWorld.java # Hello World 主程序
    │ ├── Calculator.java # 计算器类
    │ └── User.java # 用户实体类
    └── test/ # 测试代码目录
        └── java/ # Java 测试代码
            └── com/
                └── example/ # 测试包名
                    ├── HelloWorldTest.java # HelloWorld 测试
                    └── CalculatorTest.java # Calculator 单元测试

运行主程序 打开主程序界面,点击上方运行按钮,自动构建项目并且运行:

图片

IDEA 导入项目时会自动识别 Maven 项目并导入依赖,在界面右下角有提示信息,选择加载即可:

图片

四、Git 操作流程

1. 项目提交与推送

1.1 首次构建 Git 仓库,需要初始化,命令:git init:

图片

项目创建完成或者修改完成后,需要推送到 GitLab 远程平台,与他人开发的内容合并。这个过程包括拉取、提交、推送。

  • 拉取(pull,下载远程代码并合并):团队成员同时开发项目时,需要拉取 GitLab 上的代码,随时更新项目代码。此外,在个人开发完成后,也需要先拉取代码,确认最新版本,然后再提交、推送,避免版本冲突。
  • 提交(commit,提交项目代码到本地仓库):项目代码提交到本地的 Git 仓库,类似于先暂存本地,如果有问题再修改。
  • 推送(push,上传远程代码并合并):项目确认无误后推送到 GitLab 远程平台。

1.2 项目提交 项目开发完成后,在 IDEA 上方状态栏点击 Git,可进行拉取、提交、推送操作,根据实际情况选择。这里拉取完成后,点击提交,出现以下界面。

  • 更改文件列表:对项目已有的文件进行过修改。
  • 未进行版本管理的文件:新增的文件。

下方的文本框:记录提交信息,简要描述本次开发干了什么。可以点击中间按钮自动生成信息。

图片

选择需要上传到 GitLab 的文件,点击提交/提交并推送。 推送时会单独出现一个窗口再次提示,点击推送:

图片

推送成功后 IDEA 右下角提示消息:

图片

与此同时,查看 GitLab 平台项目界面,会同步出现推送记录。注意,目前内容都是默认在 main 分支上操作。

2. 分支管理

使用 Git 分支能够让开发人员并行开发工作,并且在不影响主代码库的同时继续工作。一个分支代表一条独立的开发线,在开发仓库中建立一个属于自己的独立分支,用于后续开发。 IDEA 中查看分支,也可点击列表切换分支:

图片

2.1 创建分支 有两种方式,可自行选择: 方式一: 打开 GitLab 的项目界面 -> 点击➕号 -> New Branch -> 输入分支名 -> 创建。 图 1:

图片

图 2:

图片

测试:在 IDEA 中点击 Git -> 拉取 -> 显示两个分支:

图片

方式二: 在 IDEA 上点击 Git -> 新建分支 -> 输入分支名 -> 创建:

图片

开发完代码后,点击 Git -> 提交与推送流程 -> 远程自动创建新分支并且推送代码。 图 1:

图片

图 2,IDEA 右下角提示信息:

图片

图 3,GitLab 平台上刷新查看分支:

图片

2.2 合并分支 在需要统一开发功能时,需要将功能分支合并到主分支。 首先需要切换到主分支:

图片

然后点击 Git -> 合并… -> 选择需要合并的分支 -> 合并:

图片

2.3 删除分支 合并后可以删除已合并的分支,点击 Git -> 分支 -> 选择需要删除的分支 -> 删除:

图片

在 GitLab 平台上也删除该分支了。

3. 合并冲突

在拉取、推送、合并分支代码时,可能会产生冲突,原因是他人修改了同一个文件的代码并且已经推送到 GitLab,此时合并 Git 会提示冲突文件,并且需要手动解决冲突。 这里在多人合作时会出现提示,一个人开发项目不会出现这种情况,因此借用 IntelliJ IDEA 文档的图片说明。

图片

  • 窗格说明:左侧窗格为本地代码;中间窗格显示解决冲突的结果,即最终推送版本;右侧窗格为目前 GitLab 上有冲突的版本代码。
  • 图中标记按照顺序依次表示为:修改的行;删除的行;新增的行;冲突的行。

解决冲突时,需要对应左右窗格选择:接受 << 或忽略 X,并在中央窗格中检查结果代码。如果一律以自己本地代码或者 GitLab 上的修改为主,可选择最下角的 接受左侧 或者 接受右侧,最后点击应用。

图片

注意:慎重选择 接受左侧 或者 接受右侧,很容易将他人提交的代码覆盖!!!

4. 提交历史和还原

4.1 查看提交历史 点击 IDEA 左下角 Git 图标,展示该项目分支下所有提交记录,点击一项提交记录,右侧会展示修改文件以及改动标注。

图片

4.2 还原提交(回退) 回退场景:当合并代码时,当前覆盖了之前的代码,并且已经推送到 GitLab,但是需要还原之前的版本。

示例:目前删除了 Calculator.java 文件中的 add 方法,并且推送到 GitLab 上。 还原操作:点击左下角 Git 图标,右击需要还原的提交记录,选择还原记录即可:

图片

还原后当前提交的代码全部还原,日志为 Recert'删除加法运算方法'。如果需要在还原版本上参考'删除加法运算方法'内修改的内容,需要对照右侧内容复制粘贴。

图片

目录

  1. 前言
  2. 一、IDEA 配置 Git
  3. 二、GitLab 创建项目并导入 IDEA
  4. 三、IDEA 运行项目
  5. 四、Git 操作流程
  6. 1. 项目提交与推送
  7. 2. 分支管理
  8. 3. 合并冲突
  9. 4. 提交历史和还原

更多推荐文章

查看全部
  • 接入第三方 OpenAI 兼容模型到 GitHub Copilot
  • FPGA 实现 CIC 抽取滤波器:原理与 Verilog 实战
  • Copilot 指令文件全解析:copilot-instructions.md、AGENTS.md 与 .instructions.md 区别
  • 基于 Coze 平台的企业级 AI 客服机器人搭建实战
  • 大模型转行指南:核心知识、技能要求与学习路径
  • MySQL 迁移至金仓:高兼容自动化与低成本落地实战
  • 树莓派 5 结合 Whisper 与 EdgeTTS 构建全离线语音助手
  • Python OpenCV 库安装与基础使用方法详解
  • Python 基础语法入门(一):常量、变量与运算符
  • AI 辅助 Java 零基础入门与核心实战教程
  • Redux 核心概念与常见面试问题解析
  • GitHub Copilot 学生认证及激活指南
  • OpenWrt opkg update 报错 Failed to download 且换源无效的解决方案
  • Openclaw 报错 unauthorized: gateway token mismatch 解决方案
  • 微信小程序云开发:环境配置与数据库操作详解
  • Stable Diffusion 3.5 FP8 量化技术解析:精度、性能与架构变革
  • Linux 基础 IO 系列:文件本质与“一切皆文件”哲学
  • Kubernetes 云原生实践:.NET Core 与 Java 深度对比与选型
  • 实测 Gemini Pro:谷歌多模态 AI 的实际应用能力
  • Java AI 学习路径:从基础到工程化落地

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online