一种代码分支合并方法、装置、计算机设备以及存储介质制造方法及图纸

技术编号:39247534 阅读:10 留言:0更新日期:2023-10-30 11:59
本公开提供了一种代码分支合并方法、装置、计算机设备以及存储介质,其中,该方法包括:获取多个待合并代码分支;确定所述第一类代码分支中各代码文件的合并类型;基于所述合并类型对所述第一类代码分支中的代码文件进行分组,得到至少一个待合并代码组,以及确定每个所述待合并代码组的合并策略;根据所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果。在本公开实施例中,可以基于第一类代码分支中各代码文件的合并类型进行分组,得到至少一个待合并代码组,并根据每个待合并代码组的合并策略进行分支合并,从而提高了代码分支合并的灵活性,并提高了代码分支的合并效率,进而提高了项目开发的效率。项目开发的效率。项目开发的效率。

【技术实现步骤摘要】
一种代码分支合并方法、装置、计算机设备以及存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种代码分支合并方法、装置、计算机设备以及存储介质。

技术介绍

[0002]在针对应用程序等进行项目开发的情境中,往往采取多条代码分支并行开发的多人协同开发模式,其中,不同代码分支上可以承载不同的功能特性,多条代码分支在开发的过程中会不断的进行合并,以保证代码修改在多条代码分支中的同步性。然而,在现有的代码分支合并的方案中,针对不同类型的待合并的代码分支通常都是采用相同的合并策略,导致代码分支合并的灵活性较低,同时代码分支合并的效率较低,影响了项目开发的效率。

技术实现思路

[0003]本公开实施例至少提供一种代码分支合并方法、装置、计算机设备以及存储介质。
[0004]第一方面,本公开实施例提供了一种代码分支合并方法,包括:
[0005]获取多个待合并代码分支;其中,所述多个待合并代码分支中包含第一类代码分支和第二类代码分支,所述第一类代码分支中包含待合并至所述第二类代码分支的代码文件;
[0006]确定所述第一类代码分支中各代码文件的合并类型;
[0007]基于所述合并类型对所述第一类代码分支中的代码文件进行分组,得到至少一个待合并代码组,以及确定每个所述待合并代码组的合并策略;
[0008]根据所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果。
[0009]一种可选的实施方式中,所述确定所述第一类代码分支中各代码文件的合并类型,包括:
[0010]获取所述第一类代码分支中各代码文件中的合并信息;
[0011]在所述合并信息中查找预设关键信息,得到查找结果;其中,不同预设关键信息对应不同的合并类型;
[0012]基于所述查找结果确定所述第一类代码分支中每个所述代码文件的合并类型。
[0013]一种可选的实施方式中,所述确定所述第一类代码分支中各代码文件的合并类型,包括:
[0014]获取所述第一类代码分支的分支合并列表;其中,所述分支合并列表包含所述第一类代码分支中至少部分代码文件的标识信息,所述标识信息包含对应代码文件的文件标识和/或该代码文件的类型标识;
[0015]基于所述分支合并列表中的标识信息,确定所述第一类代码分支中至少部分代码文件的合并类型。
[0016]一种可选的实施方式中,所述基于所述合并类型对所述第一类代码分支中的代码
文件进行分组,得到至少一个待合并代码组,包括:
[0017]基于所述合并类型在所述第一类代码分支中确定至少一个分割位置;其中,所述第一类代码分支中位于每个分割位置两侧的代码文件的合并类型不相同;
[0018]按照所述至少一个分割位置对所述第一类代码分支进行分割,得到所述至少一个待合并代码组。
[0019]一种可选的实施方式中,所述按照所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果,包括:
[0020]在所述第二类代码分支中确定每个所述待合并代码组中各代码文件的待合并对象;
[0021]按照所述合并策略将每个所述待合并代码组中的各代码文件与该代码文件所对应的待合并对象进行合并,得到所述分支合并结果。
[0022]一种可选的实施方式中,所述代码文件包含目标改动代码;
[0023]所述在所述第二类代码分支中确定每个所述待合并代码组中各代码文件的待合并对象,包括:
[0024]在所述合并类型为第一类型的情况下,获取每个所述待合并代码组中各代码文件的文件标识;其中,所述第一类型用于指示对应代码文件中的目标改动代码为需要合并至所述第二类代码分支;
[0025]在所述第二类代码分支中确定与所述文件标识相匹配的目标代码文件,并将所述相匹配的目标代码文件确定为所述待合并对象。
[0026]一种可选的实施方式中,所述代码文件包含目标改动代码和合并信息;
[0027]所述按照所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果,包括:
[0028]在所述合并类型为第一类型的情况下,将每个所述待合并代码组的各代码文件中的目标改动代码和合并信息,与所述第二类代码分支进行合并,得到所述分支合并结果;其中,所述第一类型用于指示对应代码文件中的目标改动代码为需要合并到所述第二类代码分支中。
[0029]一种可选的实施方式中,所述代码文件包含目标改动代码和合并信息;
[0030]所述按照所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果,包括:
[0031]在所述合并类型为第二类型的情况下,在所述第二类代码分支中确定所述待合并代码组的合并位置;
[0032]按照所述合并位置将每个所述待合并代码组的各代码文件中的合并信息与所述第二类代码分支进行合并,得到所述分支合并结果;其中,所述第二类型用于指示对应代码文件中的目标改动代码为不需要合并到所述第二类代码分支中。
[0033]一种可选的实施方式中,所述方法还包括:
[0034]在按照所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并的过程中,检测合并中断事件;
[0035]在检测到所述合并中断事件的情况下,确定各所述待合并代码组中的中断代码文件;
[0036]向所述中断代码文件所属的提交对象发送所述合并中断事件,以使所述提交对象对所述中断代码文件进行修改;
[0037]获取所述提交对象返回的修改后中断代码文件,并将所述修改后中断代码文件继续与所述第二类代码分支进行合并。
[0038]一种可选的实施方式中,所述获取多个待合并代码分支,包括:
[0039]在监听到所述第一类代码分支中的代码文件发生变更的情况下,在代码服务器中获取所述第一类代码分支的对应多个版本的上级代码分支;
[0040]在所述多个版本的上级代码分支中确定对应目标版本的上级代码分支为所述第二类代码分支。
[0041]第二方面,本公开实施例还提供一种代码分支合并装置,包括:
[0042]获取单元,用于获取多个待合并代码分支;其中,所述多个待合并代码分支中包含第一类代码分支和第二类代码分支,所述第一类代码分支中包含待合并至所述第二类代码分支的代码文件;
[0043]确定单元,用于确定所述第一类代码分支中各代码文件的合并类型;
[0044]分组单元,用于基于所述合并类型对所述第一类代码分支中的代码文件进行分组,得到至少一个待合并代码组,以及确定每个所述待合并代码组的合并策略;
[0045]合并单元,用于根据所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果。
[0046]第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码分支合并方法,其特征在于,包括:获取多个待合并代码分支;其中,所述多个待合并代码分支中包含第一类代码分支和第二类代码分支,所述第一类代码分支中包含待合并至所述第二类代码分支的代码文件;确定所述第一类代码分支中各代码文件的合并类型;基于所述合并类型对所述第一类代码分支中的代码文件进行分组,得到至少一个待合并代码组,以及确定每个所述待合并代码组的合并策略;根据所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果。2.根据权利要求1所述的方法,其特征在于,所述确定所述第一类代码分支中各代码文件的合并类型,包括:获取所述第一类代码分支中各代码文件中的合并信息;在所述合并信息中查找预设关键信息,得到查找结果;其中,不同预设关键信息对应不同的合并类型;基于所述查找结果确定所述第一类代码分支中每个所述代码文件的合并类型。3.根据权利要求1所述的方法,其特征在于,所述确定所述第一类代码分支中各代码文件的合并类型,包括:获取所述第一类代码分支的分支合并列表;其中,所述分支合并列表包含所述第一类代码分支中至少部分代码文件的标识信息,所述标识信息包含对应代码文件的文件标识和/或该代码文件的类型标识;基于所述分支合并列表中的标识信息,确定所述第一类代码分支中至少部分代码文件的合并类型。4.根据权利要求1所述的方法,其特征在于,所述基于所述合并类型对所述第一类代码分支中的代码文件进行分组,得到至少一个待合并代码组,包括:基于所述合并类型在所述第一类代码分支中确定至少一个分割位置;其中,所述第一类代码分支中位于每个分割位置两侧的代码文件的合并类型不相同;按照所述至少一个分割位置对所述第一类代码分支进行分割,得到所述至少一个待合并代码组。5.根据权利要求1所述的方法,其特征在于,所述根据所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到分支合并结果,包括:在所述第二类代码分支中确定每个所述待合并代码组中各代码文件的待合并对象;按照所述合并策略将每个所述待合并代码组中的各代码文件与该代码文件所对应的待合并对象进行合并,得到所述分支合并结果。6.根据权利要求5所述的方法,其特征在于,所述代码文件包含目标改动代码;所述在所述第二类代码分支中确定每个所述待合并代码组中各代码文件的待合并对象,包括:在所述合并类型为第一类型的情况下,获取每个所述待合并代码组中各代码文件的文件标识;其中,所述第一类型用于指示对应代码文件中的目标改动代码为需要合并至所述第二类代码分支;在所述第二类代码分支中确定与所述文件标识相匹配的目标代码文件,并将所述相匹
配的目标代码文件确定为所述待合并对象。7.根据权利要求1所述的方法,其特征在于,所述代码文件包含目标改动代码和合并信息;所述根据所述合并策略将每个所述待合并代码组和所述第二类代码分支进行合并,得到...

【专利技术属性】
技术研发人员:段启智
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1