1. 简介
IntelliJ IDEA 为 Git 版本控制系统 提供了强大的集成支持。本文将介绍 IDE 中最实用的 Git 功能。
由于 IntelliJ 持续更新,我们不会深入每个细节,而是聚焦核心功能。本文截图基于 IntelliJ IDEA 2023.3.6 暗色主题,并使用 Baeldung 的 GitHub 仓库 作为示例。
2. Git 配置
在 IntelliJ 中使用 Git 前,需先在系统安装 Git,并在 IDE 设置中配置路径:
此设置告诉 IntelliJ 使用系统安装的 Git 可执行文件。
3. 项目配置
在 IntelliJ 项目中使用 Git 有三种方式:
- 从远程仓库克隆新项目
- 导入已配置 Git 的本地源文件夹
- 为现有项目添加 Git 支持
下面详细说明这三种方式。
3.1 克隆现有仓库
通过 File -> New -> Project from Version Control 克隆远程仓库,粘贴仓库 URL 并指定本地目录:
IntelliJ 底层会执行 git clone
命令并在 IDE 中打开项目。
3.2 打开现有项目
通过 File -> New -> Project from Existing Sources 打开包含项目的本地文件夹:
若存在 .git
目录,IntelliJ 会自动启用 Git 功能。
3.3 创建新 Git 仓库
为未使用 Git 的项目启用版本控制:点击顶部菜单栏的 VCS -> Enable Version Control Integration:
选择 Git 作为版本控制系统:
IntelliJ 会执行 git init
并在项目根目录创建 .git
文件夹。
3.4 IDE 中的 Git 操作
配置 Git 集成后,IDE 中提供以下操作入口:
✅ 顶部菜单栏的 Git 菜单项
✅ 顶部工具栏的当前分支显示
✅ 左侧工具栏的提交和拉取请求按钮
后续章节将详解这些操作。
4. 创建新分支
通过工具栏的分支下拉按钮创建新分支,该下拉菜单同时显示所有本地和远程分支:
5. 提交更改
提交工具窗口会列出当前分支所有修改的文件:
点击修改的文件可查看差异:
提交时可通过复选框选择全部或部分文件。
6. 冲突解决
IntelliJ 在合并或变基时提供强大的冲突解决支持:
对于每个冲突文件,可打开解决对话框:
- 左侧:本地文件
- 右侧:待合并分支的文件
- 中间:合并结果
⚠️ 可手动接受左侧或右侧的更改。IDE 还提供魔法棒图标按钮,点击后 IntelliJ 会自动解决可处理的冲突:
7. Git 历史记录
开发者常通过 Git 历史记录追踪文件变更。IntelliJ 提供三种便捷功能:Git Blame、文件历史和提交历史。
7.1 Git Blame
Git Blame 可显示每行代码的最后修改者。右键单击文件或行号区域,选择 Annotate with Git Blame:
IntelliJ 会在每行旁显示最后修改日期和用户名:
空白行表示未提交的修改。因此 Git Blame 也是查看当前文件修改的便捷方式。
7.2 Git 文件历史
右键单击编辑器或项目窗口中的文件,可查看完整 Git 历史记录(假设未被重写或删除):
IntelliJ 会显示包含该文件的所有提交列表,可打开任意版本、查看差异或检出特定版本。
7.3 Git 提交历史
右键单击项目窗口的根目录,选择 Show History,可查看整个项目的提交历史:
8. 多模块项目
IntelliJ 对多模块项目提供出色支持。通过将多个项目导入同一 IntelliJ 窗口创建多模块项目:
每个模块可关联不同的 Git 仓库。通过主菜单 Git -> Manage Remotes 查看远程仓库:
更重要的是,每个模块可独立使用不同分支:
上例包含两个模块:Baeldung 教程项目和 Baeldung Kotlin 教程项目,它们关联不同远程仓库,且当前均处于 master
分支。
9. 拉取请求
IntelliJ 提供便捷的拉取请求(Pull Request)审查功能。点击左侧工具栏的 PR 图标可查看仓库的所有拉取请求:
可查看特定 PR 包含的文件列表,并直接在 IDE 中添加评论:
此外,可像普通分支一样检出 PR。
10. 总结
IntelliJ 提供强大的 Git 集成和直观界面,覆盖最常用的 Git 功能。
本文介绍了如何配置 IntelliJ 与 Git 协作、创建仓库和分支、提交更改、解决合并冲突,以及查看 Git 历史、审查拉取请求和处理多模块项目。
更多细节请参考 IntelliJ 官方文档。