System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别是涉及一种代码冲突的处理方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
1、开发人员进行项目开发时,常常需要进行多人的合作开发,为方便进行多人协作开发,可以使用开发管理工具,比如git(一种分布式源代码管理工具)、svn(subversion,一个开放源代码的版本控制系统)等。
2、若多名开发人员使用开发管理工具从同一个master(主)分支代码中各自拉出一个新的分支代码进行开发,开发完以后将主分支代码和新提交的分支代码进行融合。针对同一个主分支代码,若有多名开发人员提交了新的分支代码,则多份代码之间会产生代码冲突。产生代码冲突后,需要开发人员手动找到冲突的代码内容,并人工修复冲突的代码内容,消耗了大量的时间。因此,这种手动修复代码冲突的方式存在解决代码冲突的效率较低的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高代码冲突的解决效率的代码冲突的处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种代码冲突的处理方法。所述方法包括:
3、获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码;
4、对所述待合并分支代码和所述开发后分支代码进行冲突识别,得到所述待合并分支代码和所述开发后分支代码之间的冲突代码;
5、确定所述冲突代码的冲突类型;
6、根据所述冲突类型,对所述待合并分支代码和所述开发后分支
7、在其中一个实施例中,所述冲突类型包括第一冲突类型和第二冲突类型;
8、所述确定所述冲突代码的冲突类型,包括:
9、判断所述待合并分支代码与所述开发后分支代码是否相同;
10、在判断得到所述待合并分支代码与所述开发后分支代码不相同的情况下,根据语法信息,对所述冲突代码进行语义识别,得到所述冲突代码的冲突类型为第一冲突类型;
11、在判断得到所述待合并分支代码与所述开发后分支代码相同的情况下,得到所述冲突代码的冲突类型为第二冲突类型。
12、在其中一个实施例中,所述第一冲突类型包括注释冲突类型和代码冲突类型;
13、在得到所述冲突代码的冲突类型为第一冲突类型之后,还包括:
14、检测所述第一冲突类型是否为所述代码冲突类型;
15、在检测到所述第一冲突类型为所述代码冲突类型的情况下,根据语法信息,检测所述冲突代码的代码变动类型;所述代码变动类型包括实质修改类型和非实质修改类型。
16、在其中一个实施例中,所述根据所述冲突类型,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到所述待合并分支代码的合并后代码,包括:
17、当所述冲突代码的冲突类型为所述第一冲突类型中的注释冲突类型时,对所述待合并分支代码中的冲突代码的注释和所述开发后分支代码中的冲突代码的注释进行融合处理,得到所述待合并分支代码的合并后代码;
18、当所述冲突代码的冲突类型为所述代码冲突类型,且所述冲突代码的代码变动类型为所述实质修改类型时,根据接收到的冲突解决指令,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到所述待合并分支代码的合并后代码;
19、当所述冲突代码的冲突类型为所述代码冲突类型,且所述冲突代码的代码变动类型为所述非实质修改类型时,根据所述待合并分支代码的代码提交时间和所述开发后分支代码的代码提交时间,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到待合并分支代码的合并后代码;
20、当所述冲突代码的冲突类型为所述第二冲突类型时,根据所述待合并分支代码的代码提交时间和所述开发后分支代码的代码提交时间,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到待合并分支代码的合并后代码。
21、在其中一个实施例中,所述获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码,包括:
22、连接代码提交平台;
23、接收在所述代码提交平台上提交的所述待合并分支代码和所述待合并代码关联的所述开发后分支代码。
24、在其中一个实施例中,所述对所述待合并分支代码和所述开发后分支代码进行冲突识别,得到所述待合并分支代码和所述开发后分支代码之间的冲突代码,包括:
25、确定所述待合并分支代码的编程语言;
26、根据所述编程语言对应的语法信息,将所述待合并分支代码与所述开发后分支代码进行比较,得到所述待合并分支代码和所述开发后分支代码之间的冲突代码。
27、第二方面,本申请还提供了一种代码冲突的处理装置。所述装置包括:
28、代码提交模块,用于获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码;
29、冲突识别模块,用于对所述待合并分支代码和所述开发后分支代码进行冲突识别,得到所述待合并分支代码和所述开发后分支代码之间的冲突代码;
30、冲突判断模块,用于确定所述冲突代码的冲突类型;
31、代码融合模块,用于根据所述冲突类型,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到所述待合并分支代码的合并后代码。
32、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
33、获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码;
34、对所述待合并分支代码和所述开发后分支代码进行冲突识别,得到所述待合并分支代码和所述开发后分支代码之间的冲突代码;
35、确定所述冲突代码的冲突类型;
36、根据所述冲突类型,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到所述待合并分支代码的合并后代码。
37、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
38、获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码;
39、对所述待合并分支代码和所述开发后分支代码进行冲突识别,得到所述待合并分支代码和所述开发后分支代码之间的冲突代码;
40、确定所述冲突代码的冲突类型;
41、根据所述冲突类型,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到所述待合并分支代码的合并后代码。
42、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
43、获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码;
44、对所述待合并分支代码和所述开发后分支代码本文档来自技高网...
【技术保护点】
1.一种代码冲突的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述冲突类型包括第一冲突类型和第二冲突类型;
3.根据权利要求2所述的方法,其特征在于,所述第一冲突类型包括注释冲突类型和代码冲突类型;
4.根据权利要求3所述的方法,其特征在于,所述根据所述冲突类型,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到所述待合并分支代码的合并后代码,包括:
5.根据权利要求1所述的方法,其特征在于,所述获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码,包括:
6.根据权利要求1所述的方法,其特征在于,所述对所述待合并分支代码和所述开发后分支代码进行冲突识别,得到所述待合并分支代码和所述开发后分支代码之间的冲突代码,包括:
7.一种代码冲突的处理装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种代码冲突的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述冲突类型包括第一冲突类型和第二冲突类型;
3.根据权利要求2所述的方法,其特征在于,所述第一冲突类型包括注释冲突类型和代码冲突类型;
4.根据权利要求3所述的方法,其特征在于,所述根据所述冲突类型,对所述待合并分支代码和所述开发后分支代码进行融合处理,得到所述待合并分支代码的合并后代码,包括:
5.根据权利要求1所述的方法,其特征在于,所述获取待合并分支代码,以及所述待合并分支代码关联的开发后分支代码,包括:
6.根据权利要求1所述的方法,其特征在于,所述对所述待合...
【专利技术属性】
技术研发人员:童楚婕,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。