IDEA常用git操作

前言

在软件开发中,版本控制是我们不可或缺的技能。无论是个人项目的历史追踪,还是团队成员的多人协作,Git 都是目前最强大的工具。本文将结合日常开发场景,详细记录如何在 IntelliJ IDEA 中进行可视化版本控制,以及如何通过 Git 命令行与远程 GitHub 仓库进行深度交互。


IDEA 中的可视化 Git 操作

对于很多日常开发任务,直接在 IDEA 中进行版本控制操作会更加直观和高效。

1. 初步提交与状态识别

初步创建仓库

在 IDEA 中初始化 Git 仓库后,文件颜色的变化能直观反映文件状态:

  • 绿色:表示新建的、已加入暂存区但尚未提交的文件。
  • 蓝色:表示已被 Git 追踪,且内容发生修改的文件。

修改文件后,点击顶部菜单栏或工具栏的"提交"按钮,即可将更改保存到本地仓库。

点击提交之后绿色的表示新建,蓝色的表示修改

修改内容并刷新:

提交:

2. 代码回滚 (Rollback)

如果发现代码改错了想要恢复,IDEA 提供了方便的回滚功能。在修改的文件上右键,选择"回滚"(Rollback),即可撤销当前的更改,恢复到上一次提交的状态。

IDEA提示回滚成功

3. 分支操作:新建与切换

分支是并行开发的核心。

  • 新建分支 :在 IDEA 右下角的分支管理面板,可以轻松创建新分支(例如 test 分支)。

    填写新建分支信息:

    查看当前所属分支:

  • 切换分支(Checkout) :创建后,可以一键切换。切换成功后,面板右下角的标签符号会显示当前处于 test 分支下。

    签出分支:

    标签符号就跑到了test分支下:

test 分支下新增内容并提交,这些更改将独立存在于该分支中。同时,我们也可以切回 master 分支,新建其他的模块(如 Controller 目录及文件)并独立提交。

Test分支下新建一些内容:

提交新增内容到Test分支中:

提交成功:

同样步骤在master分支下新建一个controller文件夹,并在该文件夹下新建一个Maincontroller文件,之后再提交。

4. 合并 (Merge) 与变基 (Rebase)

当功能开发完成后,需要将分支代码整合。

  • 合并分支 (Merge) :在 master 分支下,选择将 test 分支合并进来。

(注:如果合并后想反悔,可以直接在 Git 历史记录中右键选择重置/Reset 撤销合并。)

将test合并到master分支上:

合并成功:

撤销刚才的合并操作,直接点重置:

  • 变基分支 (Rebase) :与 Merge 不同,变基会让提交历史更加线性。简单来说,在 test 分支上执行变基到 master,就是把 master 的新更改"垫在"自己的更改之下("把别人的东西给我")。

通俗来讲变基分支下,master是基于test开始。迁出就是把自家东西给别人,变基就是把别人的东西给我

5. 优选 (Cherry-Pick)

如果我们只需要某个分支上的特定提交,而不是整个分支的内容,就可以使用优选功能。

例如,在 test 分支下多次提交了不同的文件。切回 master 分支后,如果只想要 test 分支中的 Maincontroller 的相关提交,只需在 Git 历史中找到那次提交,点击"优选"(Cherry-Pick)即可将其应用到当前分支。

在test分支下新建Mainconfig和Maincontroller文件,每新建一次就提交一次。

在master分支下修改pom文件,并提交:

若想将test分支下的controller文件添加至master分支下,可点击优选:

成功过来:


Git 远程仓库与命令行

理解了本地操作,下一步就是将代码推送到远程服务器进行托管和协作。公有远程仓库有 GitHub、Gitee 等,企业内部通常使用 GitLab。本节以 GitHub 为例。

1. 概念基础

远程仓库实际上就是位于服务器上的仓库,它能在远端保存版本历史。不仅实现了代码云端备份,更是多人协作的基石。每个人都可以拉取他人的代码,或推送自己的更新。

2. 本地仓库关联与推送流程

以下是我们通过命令行进行完整项目初始化、关联和推送的全过程:

第一步:初始化与本地提交

在项目根目录下(如 D:/Testgit),执行以下命令初始化仓库,并将文件提交到本地。

bash 复制代码
git init
git add hello.txt
git commit -m 'Initial commit'

第二步:关联远程仓库

首先在 GitHub 上创建一个新的空仓库,然后将本地仓库与远程地址(通常命名为 origin)关联起来。

bash 复制代码
git remote add origin https://github.com/Jianglin-max/StudyGit.git

第三步:推送到远程仓库

将本地的 master 分支推送到远程的 master 分支。

bash 复制代码
git push origin master

提示:如果是首次推送,GitHub 可能会要求验证身份。现在通常使用 Personal Access Token (PAT) 或 SSH 密钥进行验证。

3. 命令行高效操作技巧

  • 快速提交修改 :使用 -a 参数可以跳过 git add,直接提交已跟踪文件的修改。

    bash 复制代码
    git commit -a -m 'Modify first'
  • 图形化查看提交历史 :使用以下命令可以清晰地查看本地与远程分支的提交结构。

    bash 复制代码
    git log --all --oneline --graph
  • 绑定远程分支 (Set Upstream) :每次推送都写完整的远程分支名很繁琐,可以使用 --set-upstream 将本地分支与远程分支绑定。

    bash 复制代码
    git push --set-upstream origin master:master

    绑定后,之后再有新的提交(例如新增了 test.txt),只需要简单执行 git pushgit push origin 即可完成同步。

4. 多人协作核心:克隆项目 (Clone)

当项目已经在远程仓库存在,而你需要在新电脑上继续开发,或者参与他人的开源项目时,就需要用到克隆操作:

bash 复制代码
git clone 远程仓库地址

例如克隆到 StudyGitClone 目录下。在这个新克隆的目录中修改代码并提交后,依然可以直接使用 git push origin 推送回远程仓库,实现多人协同开发。

bash 复制代码
# 在克隆的仓库中修改并推送
git commit -a -m 'Modify by B'
git push origin

结语

无论是依托 IDEA 强大的图形化界面提升日常开发效率,还是掌握 Git 命令行处理复杂的底层逻辑,这两种方式相辅相成。希望这篇笔记能帮你更扎实地掌握 Git 版本控制!

相关推荐
DevOpenClub2 分钟前
全国三甲医院主体信息 API 接口
java·大数据·数据库
言慢行善9 分钟前
SpringBoot中的注解介绍
java·spring boot·后端
一勺菠萝丶12 分钟前
管理后台使用手册在线预览与首次登录引导弹窗实现
java·前端·数据库
无巧不成书021824 分钟前
Java包(package)全解:从定义、使用到避坑,新手零基础入门到实战
java·开发语言·package·java包
身如柳絮随风扬35 分钟前
SpringMVC 异常处理?Spring 父子容器?
java·spring·mvc
鬼先生_sir43 分钟前
Spring AI Alibaba 用户使用手册
java·人工智能·springai
有梦想的小何44 分钟前
从0到1搭建可靠消息链路:RocketMQ重试 + Redis幂等实战
java·redis·bootstrap·rocketmq
大数据新鸟1 小时前
HashMap、Hashtable、ConcurrentHashMap 核心对比
java
MX_93591 小时前
Spring MVC拦截器
java·后端·spring·mvc
橘子编程1 小时前
MindOS:你的AI第二大脑知识库
java·开发语言·人工智能·计算机网络·ai