前言

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


IDEA 中的可视化 Git 操作

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

1. 初步提交与状态识别

初步创建仓库
查看初始化本地仓库

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

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

修改文件后,点击顶部菜单栏或工具栏的“提交”按钮,即可将更改保存到本地仓库。
IDEA提交代码至本地仓库
点击提交之后绿色的表示新建,蓝色的表示修改
提交之后代码文件显示
修改内容并刷新:
修改的部分
未进行提交(版本控制)的代码文件显示
提交:
提交至本地仓库中

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),执行以下命令初始化仓库,并将文件提交到本地。

git init
git add hello.txt
git commit -m 'Initial commit'

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

git remote add origin https://github.com/Jianglin-max/StudyGit.git

第三步:推送到远程仓库
将本地的 master 分支推送到远程的 master 分支。

git push origin master

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

3. 命令行高效操作技巧

  • 快速提交修改:使用 -a 参数可以跳过 git add,直接提交已跟踪文件的修改。
    git commit -a -m 'Modify first'
    
  • 图形化查看提交历史:使用以下命令可以清晰地查看本地与远程分支的提交结构。
    git log --all --oneline --graph
    
  • 绑定远程分支 (Set Upstream):每次推送都写完整的远程分支名很繁琐,可以使用 --set-upstream 将本地分支与远程分支绑定。
    git push --set-upstream origin master:master
    
    绑定后,之后再有新的提交(例如新增了 test.txt),只需要简单执行 git pushgit push origin 即可完成同步。

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

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

git clone 远程仓库地址

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

在这里插入图片描述

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

结语

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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐