掌桥专利:专业的专利平台
掌桥专利
首页

一种基于分布式版本控制系统的版本更新方法及装置

文献发布时间:2023-06-19 11:52:33


一种基于分布式版本控制系统的版本更新方法及装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于分布式版本控制系统的版本更新方法及装置。

背景技术

在项目的开发过程中,一个很重要的部分是划分好需求特性,并在此基础上协调好人员的分配,以及最终的整合工作。现有的工作流程,绝大部分都是基于git进行版本的管理,不过在使用git的过程中,因为一些错误的认知,操作等,像功能特性不做区分,无人审查,团队成员之间无约束的提交更新代码导致的开发者之间协作效率较低,进而造成版本更新效率低问题。

发明内容

本发明实施例提供一种基于分布式版本控制系统的版本更新方法,能够实现提高开发者之间协作效率,进而提高版本更新效率的有益效果。

第一方面,本发明实施例提供一种基于分布式版本控制系统的版本更新方法,所述方法包括以下步骤:

根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码;

将所述目标代码进行测试,判断所述目标代码测试是否通过,

若所述目标代码通过测试,则将所述目标代码合并到主仓库的对应分支中,所述主仓库用于处理并存储基本代码。

可选的,所述方法还包括:

若所述目标代码未通过测试,则反馈一通知信息给所述目标分支。

可选的,所述目标分支包括版本内容发布分支、和/或特性开发分支、和/或漏洞修复分支,所述目标代码包括与所述版本内容发布分支对应的版本发布代码、和/或与所述特性开发分支对应的漏洞修复代码;所述方法还包括:

预先向所述版本发布分支发送基本代码,以通过所述版本发布分支对所述基本代码进行更新,得到对应版本发布代码;

和/或预先向所述特性开发分支发送基本代码,以通过所述特性开发分支对所述基本代码进行更新,得到对应的特征开发代码;

和/或预先向所述漏洞修复分支发送基本代码,以通过所述漏洞修复分支对所述基本代码进行更新,得到对应的漏洞修复代码。

可选的,在所述根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码之前,所述方法还包括:

获取所述目标分支对应的远程仓库中的目标代码的存储版本,并对所述存储版本进行标记,得到对应的版本标签。

可选的,所述方法还包括:

监听所述远程仓库中的目标代码是否有更新;

若所述远程仓库中的目标代码有更新,则执行抓取操作。

可选的,所述方法还包括:

获取分仓请求;

根据所述分仓请求从主仓库中划分与所述目标分支对应的子仓库;

将所述子仓库添加为与是目标分支对应的远程仓库。

第二方面,本发明实施例还提供一种基于分布式版本控制系统的版本更新装置,包括:

抓取模块,用于根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码;

测试模块,用于将所述目标代码进行测试,判断所述目标代码测试是否通过;

合并模块,用于若所述目标代码通过测试,则将所述目标代码合并到主仓库的对应分支中,所述主仓库用于处理并存储基本代码。

可选的,还包括:

通知模块,用于若所述目标代码未通过测试,则反馈一通知信息给所述目标分支。

第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的基于分布式版本控制系统的版本更新方法中的步骤。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的基于分布式版本控制系统的版本更新方法中的步骤。

本发明实施例中,通过根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码;将所述目标代码进行测试,判断所述目标代码测试是否通过;若所述目标代码通过测试,则将所述目标代码合并到主仓库的对应分支中,所述主仓库用于完成并存储基本代码。本发明能够在需要的时候,主动抓取目标分支对应的远程仓库中的目标代码,并将通过测试的目标代码合并到主仓库中对应分支中。进而实现将目标代码合并到主仓库中与基本代码进行合并,进而实现版本更新。在版本更新过程中,能够解决现有技术中因为功能特性不做区分,无人审查,团队成员之间无约束的提交更新代码导致的开发者之间协作效率较低,进而造成版本更新效率低问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种图片归档方法的流程图;

图2是本发明实施例提供的一种基于分布式版本控制系统的版本更新方法的流程图;

图3是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图;

图4是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图;

图5是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图;

图6是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图;

图7是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图;

图8是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图;

图9是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图;

图10是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图;

图11是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图;

图12是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图;

图13是本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,图1是本发明实施例提供的一种图片归档方法的流程图,该图片归档方法用于图片归档系统或档案系统或者档案管理系统等,如图1所示,包括以下步骤:

步骤101、根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码。

其中,上述预设的测试顺序是预先设置好的测试顺序。比如,测试包括测试一、测试二、测试三等顺序,此时,可以是根据需求,按照降序的顺序进行测试,也可以是根据升序的顺序进行测试。测试顺序可以是根据目标代码的功能顺序进行测试。

上述目标分支为从主仓库中创建出来的分支。目标分支的数量可以是一个或多个。当目标分支为多个时,每个目标分支对应的需求特性互不相同,这样每个目标分支可以对应不同的目标代码实现不同的功能。

上述远程仓库为用于存储上述目标代码的仓库。上述远程仓库与目标分支一一对应,进而使得远程仓库的数量与目标分支的数量相同。具体实施时,该远程仓库可以是指开发人员的终端设备,比如,开发者使用的台式电脑、笔记本电脑等开发设备。上述处理可以是指,修改、添加、更新等。每个目标分支以及对应的远程仓库处理且存储的目标代码的功能互不相同。

上述目标代码为通过目标分支上处理并且存储在远程仓库中的代码。

具体的,当目标分支为多个时,可以根据预设的测试顺序从目标分支对应的远程仓库中抓取对应的目标代码。例如,如果当前有两个目标分支,分别为A目标分支以及B目标分支。若预设的测试顺序为先测试从A目标分支对应的目标代码,再测试B目标分支对应的目标代码。那么这对应的,先抓取A目标分支对应的远程仓库中的目标代码,然后再抓取B目标分支对应的远程仓库中的目标代码。

需要说明的是,如果不需要测试任何目标分支对应的目标代码时,目标代码一直存储在对应的远程仓库中。直到需要对目标代码进行测试后,才会从目标分支对应的远程仓库中抓取对应的目标代码。

当远程仓库没有收到抓取指令时,目标代码一直存储在该远程仓库中。当接收到抓取指令时,远程仓库可以根据该抓取指令返回目标代码。

步骤102、将目标代码进行测试,判断目标代码测试是否通过。

其中,上述测试可以是测试目标代码的代码质量、和/或代码格式、和/或漏洞等。测试的项目类型以及项目数量可以根据实际需要进行设置。

具体的,抓取到目标代码后,需要对该目标代码进行测试,比如,测试该目标代码的质量是否满足预设质量要求、和/或测试目标代码格式是否满足预设格式要求、和/或测试目标代码是否存在漏洞。当目标代码满足预设质量要求、和/或目标代满足预设格式要求、和/或目标代码不存在漏洞,则可以确定该目标代码测试通过。当目标代码不满足预设质量要求、和/或目标代不满足预设格式要求、和/或目标代码存在漏洞,则说明该目标代码没有测试通过。

当目标分支为多个时,需要分别对抓取到多个目标代码进行测试。多个目标代码的测试顺序根据预设的测试顺序进行。

步骤103、若目标代码通过测试,则将目标代码合并到主仓库的对应分支中,主仓库用于处理并存储基本代码。

其中,上述基本代码可以称为主代码。而每个目标代码均可以是对基本代码进行更新后得到的代码。

具体的,当判断出目标代码通过测试时,可以将通过测试的目标代码与主仓库中的基本代码进行合并,并且并入主仓库对应的分支中,以及并入与目标分支对应的分支中。进而实现基本代码的更新。

当目标分支为多个时,对应的目标代码也为多个,则需要根据预设的测试顺序将测试通过的目标代码合并到主仓库对应的分支中。进而实现对基本代码的多个功能代码进行更新。进一步得到完善且功能更好的基本代码。并且每个目标代码测试以及合并均是按照预设的测试顺序来进行的,能够避免目标代码测试合并时顺序混乱。

本发明实施例中,通过根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码;将目标代码进行测试,判断目标代码测试是否通过;若目标代码通过测试,则将目标代码合并到主仓库的对应分支中,主仓库用于处理并存储基本代码。本发明能够在需要的时候,主动抓取目标分支对应的远程仓库中的目标代码,并将通过测试的目标代码合并到主仓库中对应分支中。进而实现将目标代码合并到主仓库中与基本代码进行合并,进而实现版本更新。在版本更新过程中,能够解决现有技术中因为功能特性不做区分,无人审查,团队成员之间无约束的提交更新代码导致的开发者之间协作效率较低,进而造成版本更新效率低问题。

参见图2,图2是本发明实施例提供的一种基于分布式版本控制系统的版本更新方法的流程图,在图1的基础上,如图2所示,方法还包括:

步骤201、若目标代码未通过测试,则反馈一通知信息给目标分支。

其中,通知信息用于通知目标分支该目标代码未测试通过。通知信息可以通过声音报警器发出报警播报、灯光报警设备进行灯

具体的,当确定上述目标代码没有通过测试时,则发送通知信息给对应的目标分支,便于通过开发者重新对目标代码进行修改编辑,以得到能够通过测试的目标代码。

在本发明实施例中,当目标代码未测试成功时,可以通过目标分支,进而实现通知开发者重新对目标代码进行完善,以提高目标代码下次测试的成功率,进而实现目标代码的功能。

可选的,参见图3,图3是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图,主仓库用于处理并存储基本代码,目标分支包括版本内容发布分支、和/或特性开发分支、和/或漏洞修复分支,目标代码包括与版本内容发布分支对应的版本发布代码、和/或与特性开发分支对应的漏洞修复代码;在图1的基础上,如图3所示,方法还包括:

步骤301、预先向版本发布分支发送基本代码,以通过版本发布分支对基本代码进行更新,得到对应版本发布代码。

步骤302、和/或预先向特性开发分支发送基本代码,以通过特性开发分支对基本代码进行更新,得到对应的特征开发代码。

步骤303、和/或预先向漏洞修复分支发送基本代码,以通过漏洞修复分支对基本代码进行更新,得到对应的漏洞修复代码。

其中,上述基本代码为可以直接部署到生产环境中的代码。上述版本内容发布分支用于对基本代码进行版本更新,得到下个版本需要发布的内容,也即得到版本发布代码。上述版本内容发布分支可以称为develop分支。上述特性开发分支用来特性的开发更新。上述特性开发分支可以称为features分支。上述漏洞修复分支用于在生产环境中发现的紧急漏洞(bug)的修复更新。上述漏洞修复分支可以称为hotfix分支。

具体的,将主仓库中的基本代码发送给版本发布分支进行版本更新,以获取版本发布代码,进而得到基本代码的下个版本需要发布的内容。和/或将主仓库中的基本代码发送给特性开发分支进行特性更新,以获取特征开发代码,进而对基本代码的特性更新。和/或将主仓库中的基本代码发送给漏洞修复分支进行漏洞更新,以获取漏洞修复代码,进而对基本代码的存在的漏洞进行修复。

需要说明的是,当需要对主仓库中的基本代码进行完善时,需要根据完善功能的需求特性来设置对应的设置对应的目标分支对基本代码进行更新,以满足对应需求特性。每个目标分支均可以在基本代码的基础上进行更新完善以实现不同的功能。

每个目标分支均有对应的开发者,并且开发者可以编辑对应目标分支的基本代码,每次更新完成后即得到目标代码。

在本发明实施例中,能够根据需求特性对应的目标分支对基本代码进行更新进而得到与该需求特性对应的目标代码。进而能够得到高可用性的基本代码,也即实现基本代码的版本更新。

可选的,参见图4,图4是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图,在图1的基础上,在步骤101之前,如图4所示,方法还包括:

步骤401、获取目标分支对应的远程仓库中的目标代码的存储版本,并对存储版本进行标记,得到对应的版本标签。

其中,上述存储版本为目标代码的版本。上述版本标签可以是一种用于标识目标代码版本的标识,比如符号、数据、字母等一种或多种的结合。比如,目标代码的最初的版本为V0.1,经过一次更新后,得到的目标代码版本则变更为V0.2,再次对目标代码进行更新后,得到的目标代码的版本再次变更为V0.3等。

具体的,每次抓取到目标代码时,一同获取到目标代码的存储版本,并且当合并目标代码到主仓库的分支中时,可以对目标代码的版本标签进行标记。这样,在目标代码进行多次更新时,能够知道每次更新的版本标签,后期就可以根据每次的版本标签快速检索到版本标签对应的目标代码,以了解目标代码的更新历史过程。

在本发明实施例中,能够对目标代码的版本标签进行标记,进而便于根据每次标记的版本标签快速检索到目标代码的更新历史,了解目标代码的更新过程,以及历史更新过程中每个版本标签对应的目标代码。进一步了解基本代码的更新过程。

可选的,参见图5,图5是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图,在图1的基础上,如图5所示,方法还包括:

步骤501、监听远程仓库中的目标代码是否有更新。

步骤502、若远程仓库中的目标代码有更新,则执行抓取操作。

具体的,可以实时的对每个目标分支对应的远程仓库进行监听,进而检测到远程仓库中是否新的目标代码。当开发者对远程仓库中的目标代码再次完善更新时,就可以判断远程仓库中的目标代码有更新,那么就可以去该远程仓库中抓取新的目标代码。

需要说明的是,当没有接收到主仓库的抓取操作时,开发者可以多次对目标代码进行更新,并且每次更新后,均保存在远程仓库中。

在本发明实施例中,可以实时监听远程仓库中的目标代码的更新状态,进而可以获取到目标代码的最新版本,并能够实时抓取到新版本的目标代码。进而能够多次将通过测试的目标代码的新版本与基本代码进行合并,实现基本代码的更新。在开发者每次更新时,均不会上传到主仓库中,只需要等待主仓库的抓取即可。这样可以避免由于开发者每次更新后均上传到主仓库,造成主仓库累积的未测试以及未合并的目标代码,造成代码堆积,降低主仓库的存储空间,并且在代码测试或者合并时造成顺序混乱,不利于基本代码的更新的问题。进一步提高版本更新效率。

可选的,参见图6,图6是本发明实施例提供的另一种基于分布式版本控制系统的版本更新方法的流程图,在图1的基础上,方法还包括:

步骤601、获取分仓请求。

步骤602、根据分仓请求从主仓库中划分与目标分支对应的子仓库。

步骤603、将子仓库添加为与是目标分支对应的远程仓库。

具体的,当接收到分仓请求时,可以从主仓库中分出子仓库。当目标分支对基本代码进行更新后,可以存储在子仓库中。而将每个子仓库均添加为远程仓库,可以为开发者进行更新后得到的目标代码提供存储空间,由于是远程仓库,所以目标代码存储在子仓库中是不会存储到主仓库中,也就不会影响主仓库的存储空间,进而不会影响主仓库的性能。

参见图7,图7是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图,如图7所示,该基于分布式版本控制系统的版本更新装置700包括:

抓取模块701,用于根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码。

测试模块702,用于将目标代码进行测试,判断目标代码测试是否通过。

合并模块703,用于若目标代码通过测试,则将目标代码合并到主仓库的对应分支中,主仓库用于处理并存储基本代码。

可选的,参见图8,图8是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图,在图7的基础上,如图8所示,该基于分布式版本控制系统的版本更新装置700还包括:

通知模块704,用于若目标代码未通过测试,则反馈一通知信息给目标分支。

可选的,参见图9,图9是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图,目标分支包括版本内容发布分支、和/或特性开发分支、和/或漏洞修复分支,目标代码包括与版本内容发布分支对应的版本发布代码、和/或与特性开发分支对应的漏洞修复代码。在图7的基础上,如图9所示,该基于分布式版本控制系统的版本更新装置700还包括:

第一发送模块705,用于预先向版本发布分支发送基本代码,以通过版本发布分支对基本代码进行更新,得到对应版本发布代码。

和/或,第二发送模块706,用于预先向特性开发分支发送基本代码,以通过特性开发分支对基本代码进行更新,得到对应的特征开发代码。

和/或,第三发送模块707,用于预先向漏洞修复分支发送基本代码,以通过漏洞修复分支对基本代码进行更新,得到对应的漏洞修复代码。

可选的,参见图10,图10是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图,在图7的基础上,在抓取模块701之前,如图10所示,该基于分布式版本控制系统的版本更新装置700还包括:

获取模块708,用于获取目标分支对应的远程仓库中的目标代码的存储版本,并对存储版本进行标记,得到对应的版本标签。

可选的,参见图11,图11是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图,在图7的基础上,如图11所示,该基于分布式版本控制系统的版本更新装置700还包括:

监听模块709,用于监听远程仓库中的目标代码是否有更新。

循环模块710,用于若远程仓库中的目标代码有更新,则执行抓取操作。

可选的,参见图12,图12是本发明实施例提供的一种基于分布式版本控制系统的版本更新装置的结构示意图,在图7的基础上,如图12所示,该基于分布式版本控制系统的版本更新装置700还包括:

第二获取模块711,用于获取分仓请求。

划分模块712,用于根据分仓请求从主仓库中划分与目标分支对应的子仓库。

添加模块713,用于将子仓库添加为与是目标分支对应的远程仓库。

本发明实施例提供的基于分布式版本控制系统的版本更新装置700能够实现上述方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。

参见图13,图13是本发明实施例提供的一种电子设备的结构示意图,该电子设备800包括:存储器802、处理器801及存储在存储器802上并可在处理器801上运行的计算机程序,处理器801执行计算机程序时实现上述实施例提供的基于分布式版本控制系统的版本更新方法中的步骤,处理器801执行以下步骤:

根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码;

将目标代码进行测试,判断目标代码测试是否通过,

若目标代码通过测试,则将目标代码合并到主仓库的对应分支中,主仓库用于处理并存储基本代码。

可选的,处理器801还执行以下步骤:

若目标代码未通过测试,则反馈一通知信息给目标分支。

可选的,目标分支包括版本内容发布分支、和/或特性开发分支、和/或漏洞修复分支,目标代码包括与版本内容发布分支对应的版本发布代码、和/或与特性开发分支对应的漏洞修复代码。处理器801还执行以下步骤:

预先向版本发布分支发送基本代码,以通过版本发布分支对基本代码进行更新,得到对应版本发布代码;

和/或预先向特性开发分支发送基本代码,以通过特性开发分支对基本代码进行更新,得到对应的特征开发代码;

和/或预先向漏洞修复分支发送基本代码,以通过漏洞修复分支对基本代码进行更新,得到对应的漏洞修复代码。

可选的,处理器801执行的根据预设的测试顺序,抓取通过目标分支处理并存放在远程仓库中的目标代码之前,处理器801还执行以下步骤:

获取目标分支对应的远程仓库中的目标代码的存储版本,并对存储版本进行标记,得到对应的版本标签。

可选的,处理器801还执行以下步骤:

监听远程仓库中的目标代码是否有更新;

若远程仓库中的目标代码有更新,则执行抓取操作。

可选的,处理器801还执行以下步骤:

获取分仓请求。

根据分仓请求从主仓库中划分与目标分支对应的子仓库。

将子仓库添加为与是目标分支对应的远程仓库。

本发明实施例提供的电子设备800能够实现上述方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器801执行时实现本发明实施例提供的基于分布式版本控制系统的版本更新方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,简称RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

相关技术
  • 一种基于分布式版本控制系统的版本更新方法及装置
  • 基于分布式版本控制系统的分支访问方法和装置
技术分类

06120113084474