前言
本文将详细介绍如何通过 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
- 登录 GitLab -> 点击 Menu -> Projects -> Your projects -> new project 创建一个新项目
- 项目创建后,自动跳转到项目页面,点击 Clone -> Clone with SSH 右侧的复制按钮,SSH 路径结构:
ssh://[email protected]:xxx/xxx/my_project.git
项目导入 IDEA 有两种方式,可自行选择:
方式一: 打开 IDEA -> 点击克隆仓库 -> URL 填入复制的 SSH URL,目录为本地电脑存放项目代码目录 -> 克隆,即可进入项目界面。
方式二:
- 在终端进入存放项目代码目录,例如:
cd /Users/mac/Desktop/test
- 克隆仓库:
git clone ssh://[email protected]:xxx/xxx/my_project.git
克隆完成后,会出现以下提示:
- 打开 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'删除加法运算方法'。如果需要在还原版本上参考'删除加法运算方法'内修改的内容,需要对照右侧内容复制粘贴。
