关于软件配置管理中的版本控制
2020-03-25雷静
摘 要:版本控制是软件配置管理中的重要内容,版本控制的质量关乎软件配置管理的整体水平。基于此,本文将简单介绍版本控制和软件管理中常见的两个版本控制,最后探究版本控制系统在软件配置管理中的应用。
关键词:软件配置;配置管理;版本控制
引言:软件危机之后,软件开发人员越来越重视对软件配置管理中的版本控制。此后,版本控制被人们当作一门专门学科,并花费了大量的时间对该学科进行研究。如今,我国软件配置管理中的版本控制理论已经相对完整。
1 版本控制概述
软件管理中的版本控制属于软件工程领域的范畴,版本控制质量关乎我国软件工程的未来发展方向,因此国家以及社会非常重视对软件配置管理中的版本控制质量的把控。版本控制的主要目的是用来跟踪和控制软件中发生的变更,版本控制理论研究难度较大,它属于配置管理的一个分支。软件配置管理中的版本控制英文名称为Version Control,别名为Revision Control或者Source Control。版本控制的内容包含对程序、文档、大型网站以及其他信息集合变化等的管理。在软件工程领域中,通过版本控制能够实现历史追踪和控制源代码的变化。软件工程开发人员使用版本控制能够实现对软件源代码的控制,同时还能使用版本控制维护相关配置文件和文档。总而言之,使用版本控制,能够实现对任何类型文档的控制。版本控制的重要性明显,主要体现在三个方面。第一,进行版本控制能够通过检索不同的版本的软件,找出出现问题的软件版本,由此可进行漏洞修补,降低对人力以及资金的浪费。第二,进行版本控制后,能够减轻管理人员的工作压力,降低软件系统出现问题和错误的概率。第三,进行版本控制能够为软件开发团队提供一个可进行跟踪、记录文档以及修改代码的系统,由此可实现团队各人员之间的协同合作,有效提高工作效率和质量[1]。
2 软件配置管理中常见的版本控制
2.1 分布式软件配置管理版本控制
分布式版本控制英文名为Distributed Version Control,使用该类型的版本控制能够有效解决集中式版本控制过度依赖服务器带来的系列问题。使用这一类版本控制的任一客户端都能够提取出最新版的文件快照,同时还能将中央代码库完整的复制下来。将这一类型的版本控制应用进来后,当中央服务器瘫痪后,使用该版本控制依旧能够从任一客户端中近乎无损的恢复所有数据。因此,将分布式版本控制应用进来后,能够很好的避免数据损失,如今,大部分系统使用的版本控制均为分布式版本控制,由此可知分布式版本控制的重要作用。
2.2 集中式软件配置管理版本控制
相对于分布式版本控制,集中式版本控制的优势并不明显,使用集中式版本控制,不能很好的对丢失的数据进行恢复,但是该类型的版本控制也有自己的优势。首先,将集中式版本控制应用进来后,不同系统开发者之间能够实现协同工作。主要原因是集中式版本控制使用了一个单一且集中的服务器,能够实现对所有项目文件修订版本的储存与管理。其次,在具体的实践中,不同系统的开发者使用集中式版本控制的check out功能即可完成对系统最新文件的提取,修改后将文件递交给系统服务器。集中式版本控制允许多个系统开发人员在相同的时间对同一个文件进行修改,且集中式版本控制系统中携带的merge功能还能在最短的时间内将不会发生冲突的更新融合。但是,集中式版本控制比较依赖服务器,当服务器发生故障后,集中式版本控制无法继续工作,同时还不能恢复因服务器故障造成的数据丢失。因此使用该类型的版本控制,需要提前将重要数据备份到中心数据库中,这样才能有效避免服务器故障造成的数据丢失。
3 版本控制系统在软件配置管理中的应用
3.1 Git控制系统
Git控制系统为一种分布式版本控制系统,该系统具备分布式版本控制的所有优势,使用该系统能够在系统服务器故障且中心数据库没有备份数据的情况下,从任意一个客户端将丢失的数据进行恢复。由于分布式版本控制优势明显,因此Git分布式版本控制系统受到了广大系统开发者的喜欢。与此同时,Git分布式版本控制系统对外开放,免费给广大系统开发者使用,其该控制系统开源免费,因此市场上几乎所有的系统使用的控制系均为Git分布式版本控制系统。系统开发者使用Git控制系统能够对变更的文件进行跟踪,使得无论发生何种故障,使用Git控制系统都能够对丢失的数据进行恢复。Git控制系统的设计简单,系统处理数据的速度迅速,Git控制系统为完全分布式,使用该控制系统能够支持线性开发,同时还能处理Linux等内核的大型项目。
3.2 工作区域和文件状态
Git完全分布式版本控制系统的工作区域主要有三个,分别是工作目录、Git仓库以及暂存区域。第一,工作目录是系统开发人员从某一个项目某一个版本中提取出来的内容,同时也是从Git仓库中提取出来的一个文件,该工作目录被放置于系统本地磁盘中,系统开发人员可对该工作目录进行使用和修改。第二,Git仓库。Git仓库的作用是实现对项目数据以及数据库的保存管理,系统开发人员使用Git仓库中的git clone命令,能够对其他计算机的Git仓库进行克隆和使用,使用该命令能够拷贝其他计算机Git仓库中的所有数据。第三,暂存区域实质上为一个文件,该文件主要作用是对下一次即将提交的文件列表信息进行保存,下一次提交的文件列表信息一般来源于Git仓库的git directory中[2]。
在Git完全分布版本控制系统中,工作目录的文件状态几乎只有两种,分别是未跟踪文件和跟踪文件。未跟踪文件不能进行修改和管理,因此意义不大。跟踪文件为git知道且进行跟踪的文件,跟踪文件存在三个状态,分别是未修改、修改以及暂存。跟踪文件属于版本控制的范围,系统开发人员对跟踪文件做的任何修改都会被git记录下来。例如,当系统开发人员修改了跟踪文件后,git就会将该文件记录为修改文件。当系统开发人员对跟踪文件进行修改后,可以使用git add命令将跟踪文件的修改状态记为已修改状态,之后该跟踪文件就会被暂存于暂存区域中,系统开发人员使用git commit命令即可将此次更改操作提交到Git仓库中,最后使用git push即可将该修改操作记录到远程服务器中。
3.3 Git分支与融合
Git的分支是Git分布式版本控制系统的重要功能,系统开发者使用Git的分支功能能够对多个版本的控制系统进行开发,同时还可随时切换到当前控制系统,之后可在特定时间将开发的分支系统融合到主分支系统中。通过这种方式,能够在不改变原版本控制系统的基础上,增加新的分支功能,系统开发团队使用融合后的系统能够实现对大型、复杂项目的开发和管理。Git分支的创建步骤很简单,系统开发人员使用git branch命令,并在当前提交对象上创建一个新的系统分支,即可完成Git的分支功能创建。实际上,Git属于一个可变指针,该指针指向被提交对象,被提交对象被系统默认为master,当系统开发者提交master后,master会自动前移并指向开发者提交的最后一个对象。
结束语:总而言之,版本控制在软件配置管理中的重要性明显,为确保不会再发生软件危机,国家相关部门以及社会相关企业要加大对版本控制的研究力度,只有这样才能从根本上解决软件配置管理中存在的问题,提升软件配置管理质量。
参考文献:
[1]闵啸,张名明,凌旺.关于软件配置管理中版本控制[J].电子技术与软件工程,2020(17):67-68.
[2]秦佳.软件配置管理中版本控制的研究[J].软件,2019,40(03):137-139.
作者简介:
雷静(1988.07—),女,汉族,湖南郴州人,硕士,助理工程师,研究方向:通信工程。
(中車株洲电力机车研究所有限公司,湖南 株洲 412001)