IDEA结合Git实现项目管理实战——基础篇
前言
本系列将结合我个人参与团队协作开发项目的经验来介绍如何使用IDEA结合Git实现项目管理,因此可能与真正的企业开发协作存在差异,且文章所涉及的解析可能存在个人理解与实际的偏差。
本系列主讲如何具体操作,因此对于Git内部的原理将不会过多深究。
本文严禁任何形式的转载、搬运!
本文作为该系列的基础篇,将简要介绍使用Git所应该知道的最基本的知识,因此不算深究原理,哈哈。
注意:本文假设你已经成功在IDEA中配置了git
Git的四个工作区域
基本概念
Git本地有三个工作区域,分别是工作区、暂存区、本地仓库
Git远程有一个工作区域,叫做远程仓库
- 工作区:开发者当前工作的目录,主要包含项目的实际文件,其中可能包括未进行版本管理的新文件和已修改的文件。
- 暂存区:作为一个临时存储区域,用于存放工作区中已经修改的文件的快照,以便将它们作为一个逻辑单元提交到本地仓库。
- 本地库:包含了项目的提交历史,开发者可以对其进行各种操作,如分支合并、变基、签出等。本地库是在开发者本地计算机上的存储库。
- 远程库: 存放在代码托管平台(如Gitee、GitHub)上的仓库,包含了已推送的代码版本、分支、标签等信息。开发者可以通过推送和拉取操作与远程库进行交互,以保持代码同步。
概念解释
工作区
一下子引入了这么多概念,可能大家会有点接受不了,那么这里对以上概念进行详细解释。
具体来说,工作区可以看做你在IDEA中打开的项目目录,如下图:
这里的项目目录就可以看作是工作区,但是在这个工作区中,既存在正常颜色(白色)的文件名,也存在红色、绿色和蓝色的文件名,那么这些文件分别代表什么含义?这里的文件的颜色,其实也就对应着上文所谓未进行版本管理的新文件和已修改的文件。如下表:
颜色含义白色在当前提交历史未改动或者已经提交到本地库的文件红色未进行版本管理的新文件,也被称为未跟踪的文件绿色已经进行版本管理的新文件,该文件已被添加到暂存区中蓝色当前工作区中被修改的文件,该文件已被添加到暂存区中,与绿色相似
红色文件名、绿色文件名实例
大家可以自行测试下,如果你直接在项目目录中创建一个文件的话,IDEA会做出提醒:
这时如果你选择添加的话,该文件就会变成绿色文件从而被Git进行版本管理,如果选择取消的话,说明你不希望该文件被Git管理,那么该文件就是红色文件而不能被提交到暂存区。
总结:
- 当你创建一个新文件时,它就是红色的,表示这是一个未跟踪的文件。通过运行
git add
命令,将文件添加到暂存区,此时文件变为绿色,表示它已经被 Git 管理并准备提交。 - 如果你不想将一个未跟踪的文件或已修改的文件纳入版本管理,你可以选择不使用
git add
命令,或者使用git reset
命令来取消已经添加到暂存区的文件。取消后,文件会回到红色状态,表示它未被跟踪或未被修改。 - 但是对于我们日常开发来说,我们创建一个文件肯定是有用意的,一般都希望该文件被提交上去,所以我们一般都选择添加文件,这样才能通过添加到暂存区,再到本地库最终推送到远程仓库中。
白色、蓝色文件名实例
比如这里我删除了md文件中的其中一行,md文件的文件名由白色转为了蓝色
该文件一般在该项目已经提交到本地库中后,我们准备开发新的功能时才会出现,也就是我们修改了当前已经存在于本地库中的文件,该文件就会被转化成蓝色文件。因为该文件已经被Git版本管理过了,所以可以直接提交到本地库。
总结:
- 蓝色文件可以直接提交到本地库中,因为其已经被Git版本管理了
- 蓝色文件可以简单认为就是白色文件被修改后的文件
暂存区
经过前面的内容,大家多少应该可以感觉到,暂存区其实是我们看不见、摸不着的存在,在暂存区中存在的文件一般是绿色和蓝色文件,也就是我们已经使用
git add
命令添加的文件。
当我们开发完毕一个新的功能后,我们就会准备将这次修改记录提交到本地仓库,这时候使用
git commit
命令就可以将暂存区中的文件提交到本地仓库中。
提交实例
在该实例中,我们删除了md文件的其中一行(可以看到changes一栏中是蓝色文件,如果你把一个新的文件也添加到暂存区的话就是前文提到的绿色文件),这里我们要在下方框中填写相关介绍,以便帮助其他团队成员或日后的自己知道这次的提交做了什么。
本地库
具体来说,本地库包含了开发者本地完整的提交历史和所有的本地分支,本地库中的提交记录是暂存区通过执行
git commit
后得来的。
这里要注意本地分支和本地库的区别,本地分支只是本地库众多分支的其中一个分支,当然本地库也可以只包含一个本地分支(但是一般来说开发者不会这么做)。
本地分支实例
这里展示了本地库中的master分支,在这个分支中存在着该分支的提交历史和各种信息。
远程库
远程库是存放在代码托管平台(如Gitee、GitHub)上的仓库,本地库执行
git push
命令可将本地的提交记录推送到远程仓库中。
远程分支和远程库的区别同本地分支与本地库的区别一样
远程分支实例
同上本地分支实例。
需要注意的是,由于我们在团队开发中涉及到多人的共同协作,因此每个人都可以向远程仓库中推送自己的代码,也就意味在当你在开发新的代码时,远程仓库可能已经发生了变动,那么远程分支也就不能实时和远程仓库的提交记录保持同步了,这时我们需要使用
git fetch
命令,将远程仓库的提交记录拉取到的远程分支中。
总结
通过对于工作区域的认识,大家想必已经了解了一个文件如何从工作区一步步提交到远程仓库中,当然这里存在着很多操作中的细节,如切换分支,合并来自其他分支的结果等,而我们是使用IDEA结合Git实现版本管理,同样存在着如何具体使用的问题。由于本篇只讲理论,就不过多介绍了,本系列将会继续更新下去,大家敬请期待~
系列篇章:
- 配置篇(已更)
- 基础篇(已更)
- 实战篇(TODO)
版权归原作者 MoCrane 所有, 如有侵权,请联系我们删除。