IDEA高效集成GitLab:完整Git工作流指南

文章目录


前言

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

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

一、IDEA配置Git

打开 IDEA -> 点击右上角设置图标 -> 偏好设置 -> 搜索 Git
在版本控制目录下 -> 点击Git -> Git可执行文件路径:通常为/usr/local/bin/git

在这里插入图片描述


ps:IDEA中文设置:

在这里插入图片描述

二、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 

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

在这里插入图片描述


3. 打开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 单元测试

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

在这里插入图片描述


ps:如果需要进行单元测试,运行src/test目录下的HelloWorldTest文件。

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 上的修改为主,可选择最下角的 接受左侧 或者 接受右侧,最后点击应用。

在这里插入图片描述


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

4. 提交历史和还原

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

在这里插入图片描述


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

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

在这里插入图片描述


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

在这里插入图片描述

五、接口测试

这节简单记录 API 接口测试工具,不是必看,如果有这方面的需求可以参考。在开发过程中开发完 API 接口后,需要先本地测试是否能够联通,使用 Apifox 工具。

  1. 安装 Apifox 插件
    IDEA中支持 Apifox 插件:右上角设置按钮 -> 插件 -> Marketplace -> 输入 Apifox -> 安装。
  2. 测试接口
    运行项目主文件,点击右侧边栏的 Apifox 图标,即可测试。

Read more

Faster-Whisper-GUI日语语音识别完整指南:从零开始轻松转写日语音频

Faster-Whisper-GUI日语语音识别完整指南:从零开始轻松转写日语音频 【免费下载链接】faster-whisper-GUIfaster_whisper GUI with PySide6 项目地址: https://gitcode.com/gh_mirrors/fa/faster-whisper-GUI Faster-Whisper-GUI是一个基于PySide6开发的图形界面工具,专门用于日语语音识别和音频转写。这款工具通过优化算法和直观界面,让日语语音识别变得简单高效。无论你是日语学习者、内容创作者还是需要处理日语音频的专业人士,都能快速上手使用。 🎯 为什么选择Faster-Whisper-GUI进行日语识别? Faster-Whisper-GUI相比其他语音识别工具具有明显优势: * 多模型支持:兼容Whisper、WhisperX等多种模型,确保日语识别精度 * 硬件加速:支持CUDA显卡加速,大幅提升处理速度 * 时间轴输出:自动生成日语文本的时间标记,便于后续编辑 * 免费开源:完全免费使用,无需订阅费用 ⚙️ 三步完成日语语音识

By Ne0inhk
第二章-AIGC入门-小白也能看懂的AI图像生成指南:从原理到实战(5/36)

第二章-AIGC入门-小白也能看懂的AI图像生成指南:从原理到实战(5/36)

摘要:AI图像生成是基于深度学习的人工智能技术,能依据文本或图像输入生成新图像。其原理主要基于生成对抗网络(GAN)和变分自编码器(VAE),通过生成器和判别器的对抗训练(在 GAN 中),或编码器和解码器的协作(在 VAE 中),实现图像生成。AI图像生成在艺术创作、商业设计、影视游戏、日常生活等方面有广泛应用,但也面临伦理、版权、技术准确性等挑战。 一、AI 图像生成是什么 AI 图像生成,作为人工智能技术在数字创作领域的重要应用,正深刻地改变着我们生成和理解图像的方式。简单来说,AI 图像生成是利用人工智能算法,依据给定的输入(如文本描述、图像示例等),通过对大量数据的学习和分析,自动生成全新图像的技术。 从原理上讲,AI 图像生成技术建立在深度学习模型的基础之上,其中最为常用的是生成对抗网络(GAN)和变分自编码器(VAE) 。以生成对抗网络为例,它由生成器和判别器两个部分组成。生成器负责生成图像,判别器则用于判断生成的图像是否真实。两者相互对抗、

By Ne0inhk
VSCode + Copilot 保姆级 AI 编程实战教程,免费用 Claude,夯爆了!

VSCode + Copilot 保姆级 AI 编程实战教程,免费用 Claude,夯爆了!

从安装到实战,手把手教你用 VSCode + GitHub Copilot 进行 AI 编程 你好,我是程序员鱼皮。 AI 编程工具现在是真的百花齐放,Cursor、Claude Code、OpenCode、…… 每隔一段时间就冒出来一个新选手。 之前我一直沉迷于 Cursor 和 Claude Code,直到最近做新项目时认真体验了一把 GitHub Copilot, 才发现这玩意儿真夯啊! 先简单介绍一下主角。VSCode 是微软出品的全球最流行的代码编辑器,装机量破亿;GitHub Copilot 则是 GitHub 官方出品的 AI 编程助手插件,直接安装在 VSCode 中使用。 个人体验下来,相比其他 AI 编程工具有 4 大优势: 1. 支持最新 AI 大模型,

By Ne0inhk

VSCode + Copilot下:配置并使用 DeepSeek

以下是关于在 VSCode + Copilot 中,通过 OAI Compatible Provider for Copilot 插件配置并使用 DeepSeek 系列模型 (deepseek-chat, deepseek-reasoner, deepseek-coder) 的完整汇总指南。 🎯 核心目标 通过该插件,将支持 OpenAI API 格式的第三方大模型(此处为 DeepSeek)接入 VSCode 的官方 Copilot 聊天侧边栏,实现原生体验的调用。 📦 第一步:准备工作 在开始配置前,请确保已完成以下准备: 步骤操作说明1. 安装插件在 VSCode 扩展商店搜索并安装 OAI Compatible Provider for Copilot。这是连接 Copilot 与第三方模型的核心桥梁。2. 获取 API

By Ne0inhk