分支代码管理方法及装置与流程

文档序号:16247284发布日期:2018-12-11 23:41阅读:263来源:国知局
分支代码管理方法及装置与流程

本发明涉及互联网技术领域,具体而言,涉及一种分支代码管理方法及装置。

背景技术

目前很多互联网公司都需要对源代码进行管理,如目前常用的方案是,每次分支开发完成后合并主干,进行主干代码发布到测试环境进行测试,有问题则需要在原分支上进行继续开发,开发完成后继续合并主干,直到没有问题再发布。但是多个程序员对相同分支进行二次开发时,容易导致冲突,且每次拉取分支或合并主干时均需要程序员手动进行,不利于开发工作的开展。



技术实现要素:

本发明的目的在于提供一种分支代码管理方法,以实现自动管理源代码且不会覆盖源代码中的其他新功能。

本发明的另一目的在于提供一种分支代理管理装置,以实现自动管理源代码且不会覆盖源代码中的其他功能。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种分支代码管理方法,应用于客户终端,所述客户终端与服务终端连接,所述客户终端上安装有版本控制器用以管理源代码,所述服务终端上存储有项目开发的所有源代码,所述方法包括:;从所述服务终端拉取项目开发的所有源代码,并存储所述源代码的当前版本号;响应用户的操作对所述源代码进行二次开发得到目的源代码;将存储的所述源代码的当前版本号与所述服务终端中存储的源代码的最新版本号进行比较,若不一致,则将所述服务终端上的源代码合并到所述客户终端的目的源代码中。

第二方面,本发明实施例还提供了一种分支代码管理装置,应用于客户终端,所述客户终端与服务终端连接,所述客户终端上安装有版本控制器用以管理源代码,所述服务终端上存储有项目开发的所有源代码,所述装置包括:获取模块,用于从所述服务终端拉取项目开发的所有源代码,并存储所述源代码的当前版本号;开发模块,用于响应用户的操作对所述源代码进行二次开发得到目的源代码;比较模块,用于将存储的所述源代码的当前版本号与所述服务终端中存储的源代码的最新版本号进行比较,若不一致,则将所述服务终端上的源代码合并到所述客户终端的目的源代码中。

本发明实施例提供的一种分支代码管理方法及装置,应用于客户终端,该客户终端与服务终端连接,该客户终端上安装有版本控制器用于管理源代码,该服务终端上存储有项目开发的所有源代码。进而,该客户终端将从服务终端拉取项目开发的所有源代码,并存储源代码的当前版本号,程序员可在客户终端上对拉取的源代码进行二次开发。最后,将拉取的源代码的当前版本号与服务终端中存储的源代码的最新版本号进行比较,若不一致,则证明服务终端中的源代码被附加了其他功能,进而将服务终端上的源代码合并到客户终端的目的源代码中。由此可见,本方案中,各个客户终端均可从服务终端拉取源代码进行二次开发,由于每次服务终端存储的源代码被更新后,其版本号都将变更,进而当比较两者的版本号不一致时,将服务终端中更新后的源代码合并至客户终端的目的源代码中,以保证任何一个客户终端分支发布的代码都具备所有功能,同时避免了开发冲突。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的一种分支代码管理方法的流程示意图。

图2示出了本发明实施例提供的一种分支代码管理装置的功能模块示意图。

图示:100-分支代码管理装置;110-获取模块;120-开发模块;130-比较模块;140-覆盖模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明实施例的应用场景为:在互联网公司进行项目开发时,将所有开发的源代码存储至服务终端中,该服务终端与程序员使用的各台客户终端通过网络连接。当程序员需要对源代码进行二次开发时,程序员将通过客户终端从服务终端中拉取项目开发的所有源代码,对获取的源代码进行二次开发,并将二次开发后的源代码发送至服务终端中对服务终端中事先存储的源代码进行更新,进而将服务终端中存储的源代码称之为主干,将程序员通过客户终端从服务终端拉取进行二次开发的源代码称之为分支。

容易理解的,同一时间内,可能存在多个程序员通过客户终端同时从服务终端拉取源代码进行二次开发,且可能更改的是源代码中的相同部分的代码,进而使得容易导致冲突。进而本发明实施例提供一种分支代码管理方法,实现对分支代码进行有效管理,避免冲突问题,同时提高开发效率。

一般的开发过程涉及开发环境、测试环境、预发环境以及生产环境,开发环境为程序员通过客户终端(如电脑)从服务终端拉取源代码进行二次开发;测试环境即为在程序员进行二次开发完成后,对开发完成的代码进行测试;预发环境即为代码发布到发布生产之前的期间;生产环境即为实际投入使用的环境。

本发明实施例提供的一种分支代码管理方法,在其客户终端中安装有版本控制器,进而通过拉取分支时存储主干的当前版本号,当程序员对拉取的分支进行二次开发时,比较之前存储的主干的当前版本号与主干目前最新的版本号是否一致,因为存在其他程序员拉取分支也在对源代码进行二次开发后对主干的源代码进行了更新。若主干的源代码被更新,则主干的版本号将会增加,此时,之前存储的主干的当前版本号与主干的目前最新的版本号将不一致,进而需将主干的代码合并到分支中,以保证分支发布时具有主干上的所有功能。

由此,本发明实施例提供的方案较好地避免了多个程序员同时更改代码导致的冲突问题。此外,程序员可能在各个开发环境中对拉取分支对源代码进行二次开发,因此,在各个开发环境均需要对主干的源代码的版本号进行检测,亦即是说,在一个项目开发过程中,需要多次对主干的版本号进行检测,以保证各个分支进行发布时具有主干的所有功能。

本发明实施例提供的一种分支代码管理方法应用于客户终端,该客户终端可以是,但不限于,电脑等智能电子设备。请参照图1,是本发明实施例提供的一种分支代码管理方法的流程示意图,该方法包括:

步骤s110,从所述服务终端拉取项目开发的所有源代码,并存储所述源代码的当前版本号。

具体为,当需要对源代码进行二次开发时,程序员所在的客户终端自动从服务终端拉取所有的源代码。此外,由于该客户终端中安装有版本控制器,该客户终端还将存储从服务终端获取的源代码的当前版本号,如当前版本号为100。

步骤s120,响应用户的操作对所述源代码进行二次开发得到目的源代码。

即是说,程序员可对拉取的源代码进行二次开发得到具体的功能,该经过重新编码的源代码为目的源代码。

步骤s130,将存储的所述源代码的当前版本号与所述服务终端中存储源代码的最新版本号进行比较,若不一致,则将所述服务终端上的源代码合并到所述客户终端的目的源代码中。

具体为,由于同一时间各个程序员可能都从服务终端中拉取了源代码进行功能的开发,因此,该源代码上将附加多个由不同程序员添加的新功能,为了保证分支发布具有所有程序员开发的功能,因而需要进行版本号的检测。即是说,对拉取的分支进行编码得到目的源代码后,将之前拉取分支时存储的源代码的当前版本号与服务终端中存储的源代码的最新版本号进行比较,若不一致,则表明服务终端中存储的源代码已经被更新,即已经被其他程序员附加了新的功能且对之前的存储的源代码进行了覆盖。需要说明的是,服务终端的源代码的版本号被覆盖一次将增加预定数值,如由之前的100变为102等,以区分开来。进而,将服务终端上的源代码合并到客户终端的目的源代码中,以使得分支在发布时可以获取所有功能。

此外,若之前拉取分支时存储的源代码的当前版本号与服务终端中存储的源代码的最新版本号一致,则直接将客户终端上的目的源代码发布测试,以进行后续流程。

步骤s140,将合并后的所述服务终端的源代码和所述客户终端的目的源代码发送至所述服务终端进行存储并覆盖所述服务终端中历史存储的源代码。

具体为,还需将合并后的服务终端的源代码和客户终端的目的源代码发送至服务终端覆盖服务终端之前的源代码,使得其他分支也能获取当前分支增加的新功能。

由此可见,本发明实施例提供的一种分支代码管理方法,通过自动拉取、合并分支,简化了操作,同时,通过检测版本号使得各个分支可以获得主干上的所有功能,且不易导致修改冲突,提高了开发效率。

请参照图2,是本发明实施例提供的一种分支代码管理装置100的功能模块示意图,该装置包括获取模块110、开发模块120、比较模块130以及覆盖模块140。

获取模块110,用于从所述服务终端拉取项目开发的所有源代码,并存储所述源代码的当前版本号。

在本发明实施例中,步骤s110可以由获取模块110执行。

开发模块120,用于响应用户的操作对所述源代码进行二次开发得到目的源代码。

在本发明实施例中,步骤s120可以由开发模块120执行。

比较模块130,用于将存储的所述源代码的当前版本号与所述服务终端中存储的源代码的最新版本号进行比较,若不一致,则将所述服务终端上的源代码合并到所述客户终端的目的源代码中。

在本发明实施例中,步骤s130可以由比较模块130执行。

覆盖模块140,用于将合并后的所述服务终端的源代码和所述客户终端的目的源代码发送至所述服务终端进行存储并覆盖所述服务终端中历史存储的源代码。

在本发明实施例中,步骤s140可以由覆盖模块140执行。

由于在分支代码管理方法部分已经详细描述,在此不再赘述。

综上所述,本发明实施例提供的一种分支代码管理方法及装置,应用于客户终端,该客户终端与服务终端连接,该客户终端上安装有版本控制器用于管理源代码,该服务终端上存储有项目开发的所有源代码。进而,该客户终端将从服务终端拉取项目开发的所有源代码,并存储源代码的当前版本号,程序员可在客户终端上对拉取的源代码进行二次开发。最后,将拉取的源代码的当前版本号与服务终端中存储的源代码的最新版本号进行比较,若不一致,则证明服务终端中的源代码被附加了其他功能,进而将服务终端上的源代码合并到客户终端的目的源代码中。由此可见,本方案中,各个客户终端均可从服务终端拉取源代码进行二次开发,由于每次服务终端存储的源代码被更新后,其版本号都将变更,进而当比较两者的版本号不一致时,将服务终端中更新后的源代码合并至客户终端的目的源代码中,以保证任何一个客户终端分支发布的代码都具备所有功能,同时避免了开发冲突。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1