版本控制工具在软件开发项目管理中的应用研究

2021-09-23 07:30师洛蓓
管理学家 2021年16期

师洛蓓

[摘 要] 近年来,随着我国社会科技及计算机技术的发展,软件工程领域也得到了快速的发展。现阶段,在软件开发项目管理中合理运用版本控制工具能够促使软件开发工程高质量、高效率的完成。基于此,文章主要研究版本控制工具在软件开发项目管理中的应用,希望对相关人员有所启示。

[关键词] 版本控制工具;软件开发工程;Git版本控制系统;Gitee托管平台

中图分类号: G221                      文献标识码:A                      文章编号:1674-1722(2021)16-0074-03

在软件开发工程管理的过程中,难度最大的便是对庞大数据的管理,而版本控制工具的使用能够帮助软件开发工程提高对数据的管理水平。由此可见,版本控制工具在软件开发项目管理中具有十分重要的应用价值,而加强对软件开发项目管理中版本控制工具的研究,对于促使软件开发项目顺利完成具有十分重要的现实意义。

一、版本控制概述

(一)版本控制内涵

版本控制是指可以记录一个或多个文件在修改过程中的变化,使得后续可以查阅文件的历史版本的技术[1]。相关工作人员运用版本控制便可获取版本的历史数据信息,当版本存在问题时便可在历史数据信息上做出改正;而想要添加新功能时,也可在历史数据信息上进行操作。

(二)版本控制操作

版本控制的操作主要包括版本的生产、版本的提交、版本的审核、版本的修改、版本的提取、版本的比较及版本的合并。软件开发工程项目在使用版本控制工具时,必须按照流程进行操作,才能够促使版本控制工具能够在软件开发工程中发挥其作用与价值。图1为版本控制操作流程图。

(三)版本控制优势

首先,版本控制能够方便代码管理,尤其是分布式版本控制系统,能够利用版本代码托管平台实现对文件代码的自动管理[2]。其次,版本控制具有自动化的功能,且能够加强访问控制,这对于保障代码数据的安全性是尤为重要的。最后,版本控制能够实现分工和并行,便于软件工程实行多人协同作业,这对于提高软件工程的工作效率是十分重要的[3]。

二、版本控制工具在软件开发项目管理中的应用——以Git为例

(一)Git概述

Git版本控制属于分布式版本控制系统,于2005年被Linus Torvalds首次提出并运用。该版本控制工具具有简便、开源、速度快、保护数据完整性的优势,故而在现阶段被我国软件工程项目所喜爱,并在软件开发项目当中被大量使用[4]。

Git版本控制系统具备强大的分支管理能力,这也是Git版本控制系统最具特色的功能之一。其不仅能够支持大量的分支同步运行,还可以支持上千的分支同步进行维护与开发,同时,在分支处理的过程中还不会影响主支的正常使用。这就能够保证软件工程项目在进行分支的修改时,软件仍然可以正常使用。当软件在使用过程中或在软件开发的阶段发现软件的功能存在问题时,软件工程相关工作人员能够利用Git版本控制系统直接找到问题的诱发原因或问题存在的根本原因是存在哪一个软件版本之中,以便于后续对问题版本进行修改。同时,软件开发工程项目相关工作人员还可以利用Git版本控制系统针对软件的测试与修改创建一个新的分支,该软件新增的功能均可以在该分支上完成测试,而测试通过之后也可以直接汇入主支当中被使用,且由于Git版本控制系统各个分支均具备不同的功能,分支与分支之间、分支与主支之间的功能是互不干扰的,可以说各个分支在Git版本控制系统中是一个独立的存在,故而当后期发现并不需要使用某一分支的功能时,便可直接去除该分支,而这并不会对软件的正常使用带来影响。

此外,Git系统控制工具采用的是快照模式。快照模式主要是针对数据信息的记录,传统的软件开发工程项目的信息记录主要是通过记录不同阶段的数据判断数据之间的差距从而达到分析数据的目的,而快照模式并不需要主动对数据信息进行记录,而是在数据变动的各个阶段记录影像。该种模式相比于传统的信息记录模式而言更加便捷且节省时间。

(二)Git工作原理

首先,软件开发工程项目工作人员需要先建立一个工作区间,该工作区间是在本地上建立的一个工程空白文件,并在该文件内增加实现软件功能指令的信息,生成工程文件,随后将工程文件增加到暂存區,在该区域内可完成工程文件的代码生成、代码管理及代码冲突解决等问题。随后,将文件代码提交到本地仓库,连接本地代码跟远程代码,并将本地仓库推送至远程仓库。远程仓库是指针对软件开发工程建立的一个代码托管平台,通常情况下选择Gitee平台,以实现对代码的保存。

(三)Git功能特点

Git版本控制系统能够促使版本库本地化,从上文分析可知,软件开发工程项目相关工作人员在进行完文件的制作之后,是需要优先将文件保存至本地仓库,经过修改、完善且无代码冲突的情况下才能够推送至中心服务器,说明大部分文件数据还是存储在工作人员的本地仓库当中,从而实现文件资源的版本库本地化。通常情况下,在Git的支持下,软件开发工程相关工作人员的文件查询、修改及删除等工作均是基于本地仓库上来完成的,并未给中心服务器带来影响,也保证了中心服务器可以正常地工作。同时,版本库本地化能够优化工作人员的工作,工作人员不必第一时间将文件提交到中心服务器,故当网络环境不通畅时,工作人员依旧可以将文件上传至本地的数据库,受网络波动的影响较小。

(四)Git在团队协作中的使用

现阶段,很多大型的软件开发工程项目需要多个工作人员一同对软件功能进行开发,且需要对相关工作人员的工作进行分工并需要同步进行,而此时,Git版本控制系统便可帮助软件开发工程的相关工作人员协作完成工作任务。当工作人员完成某一项任务或正在进行某一项任务时,Git版本控制系统便可将已完成或正在进行的文件生成一个代码,当其他工作人员需要使用到相关数据信息时,便可根据代码查询数据内容,同时也可对代码文件内容进行修改,且能够完成多个版本分支的协同开发与维护。

在软件开发工程开启之前,需要每一位软件开发工作团队成员在Gitee上注册一个账号,并生成属于自己的SSH Key。Gitee是一种代码托管平台,软件开发的过程中,每完成一项工作任务都会将文件生成代码以便于保存管理与后续的应用,而Gitee平台便是对文件代码自动管理的托管平台,在该平台上,团队成员能够实现文件的相互传递,以便于软件开发工程的顺利进行。随后,团队的每一位成员需要在自己使用的计算机上建立一个项目仓库,该项目仓库是成员存储自己工作任务文件的,且各个成员的项目仓库是需要在Gitee上实现远程相关联的。关联方法便是成员在自己注册的Gitee平台上添加其他成员的SSH Key,从而实现项目仓库信息资源的传递与共享。当团队某个成员获取到其他成员的项目仓库信息时,便可克隆、复制到本地项目仓库中,随后根据自己软件分支的功能对文件进行修改,再利用“git push”指令将文件存储至Git仓库,若在存储过程中发现文件代码冲突,则需要及时解决。在解决的过程中,需要优先解决本地文件。

文件代码冲突是软件开发工程项目中常遇到的问题。当发现文件代码冲突时,软件开发工程项目相关工作人员应及时解决,否则很容易导致文件丢失,致使开发出来的软件存在功能缺失,这对软件开发工程项目的工程质量有着十分恶劣的影响。当发生文件代码冲突时,Git版本控制系统便会给予软件开发工程项目工作人员提示,并告知工作人员两个冲突代码的分支,以便于相关工作人员及时发现和解决,通常情况下解决的办法为手动修改文件。

三、版本控制工具在软件配置管理中的应用

(一)Git版本控制系统的工作区域

首先,从Git版本控制系统工作区域的角度来分析。Git版本控制系统的工作区主要包括Git仓库、工作目录及暂存区域。Git仓库是指软件开发工程项目的所有数据资料的存储之处。在Git版本控制的支持下,Git仓库能够实现对软件开发工程项目数据资料的保护,以保证数据不丢失、泄露,从而提高整个Git版本控制系统的安全性。同时,Git版本控制系统中有一个“git clone”指令,该指令是克隆、复制Git系统内任意数据的指令,该指令能够实现对多台计算机的仓库进行克隆、复制,從而帮助相关工作人员顺利完成数据资料获取的任务。Git版本控制系统中工作目录的主要作用是引导操作人员顺利找到想要搜索的文件,其中包含的内容较多,可以从其他软件工程项目提取相关的数据信息,并以压缩的形式形成了一个压缩数据库,保存在本地的磁盘当中,而当操作人员想要找寻某个软件工程项目的数据信息时,便可根据目录文件名称的提示寻找到压缩的软件工程项目数据信息。暂存区域是指文件暂时存储的位置。通常情况下,使用暂存区域的文件均是在不久之后需要提交的文件,而暂存区域能够给予这些文件暂时存储的位置,以便于在文件提交时顺利找到文件。就目前情况而言,Git版本控制系统的大部分暂存区域被普遍设置于git directory中。

(二)Git版本控制系统的分支与合并功能

其次,从Git版本控制系统中分支与合并的角度来分析。Git版本控制系统的分支功能是指在软件版本开发的过程中,主支还能够正常使用,这就使得软件的使用并未受到影响,而软件工程项目可以在分支对软件系统进行开发,且在开发的过程中,能够随时切换版本进行操作。帮助软件工程项目实现在同一时间、不同版本的软件开发,而开发完成的软件分支还能够融合到主支上,实现了在不影响软件正常使用的前提下完成软件的开发,并达到帮助软件增加新功能或提高软件稳定性的目的。

(三)Git版本控制系统的文件状态

最后,从Git版本控制系统中文件状态的角度来分析。总体而言,Git版本控制系统中的文件主要包括两种状态,一种是需要相关工作人员修改的被跟踪状态;一种是完成修改或无须修改的未跟踪状态。从被跟踪状态的角度来分析,被跟踪状态的文件也分为三种:修改状态、未修改状态和暂存状态。未修改状态是指需要被修改但是软件工程工作人员并未对其进行修改的文件。修改状态是指正在被软件工程工作人员修改处理的文件,修改完成之后无须进行下一步修改,文件会自动提交并转变成未跟踪状态;而修改完成之后还需要进行下一步修改的文件则处于暂存状态,以便于相关工作人员继续进行修改。通常情况下,需要转入暂存区域的文件是通过“git add”“git commit”及“git push”三个指令来完成的。首先,修改完成之后还需要进行下一步修改的文件再接收到“git add”指令之后,文件将会自动转移到转存区域,并在“git commit”指令下,将转存区域的未完成全部修改的文件转移到Git仓库内的暂存区域,而“git push”的主要功能则是记录未完成全部修改的文件,从而加强对文件的管理,避免在修改过程中存在漏修改的问题。图2为未完全修改文件状态跟踪流程图。

四、结语

综上所述,Git是现阶段我国软件开发工程常用的版本控制工具,Git系统属于分布式版本控制系统,由于本身具备强大的分支管理能力,使得软件开发工程更加便捷。同时,对于一些大型软件开发工程项目而言,其可以帮助项目实现良好的协同工作,且在进行的过程中,Gitee托管平台能够帮助其实现良好的文件信息存储与管理工作,促使软件开发工程的顺利完成。

参考文献:

[1] 王真.版本控制工具在软件开发项目管理中的应用——以GIT为例[J].项目管理技术,2020,06(10):147-149.

[2] 田江涛.基于git工具的多分支并行开发上线流程[J].电子技术与软件工程,2019,03(20):157-158.

[3] 孙德刚.基于SVN版本控制的教务信息管理系统开发与实现[J].现代信息科技,2020,06(10):111-113.

[4] 陈肖彬.版本控制系统Git在信息化校园中的简单应用[J].现代计算机,2019,11(15):99-102.