本申请涉及计算机,尤其涉及一种代码推送方法、装置、电子设备及可读介质。
背景技术:
1、git是一个开源的分布式版本控制系统,它可以有效、高速地处理从很小到非常大的项目版本管理。代码推送是指将本地仓库中的代码更改上传到远程仓库的过程,这通常发生在开发者完成了一系列的代码修改、测试并确认无误后,希望将这些更改与其他团队成员共享或备份到远程仓库中。git推送代码时,往往需要用户手动输入远程仓库名、本地分支名及远程分支名等信息,而且还需要用户人工校验本地分支名与远程分支名是否匹配,经常出现用户将修改的代码推送到错误的远程分支上,而且在推送前的代码提交环节,也容易出现代码不规范且人工审核不到位导致代码上传违反规则的情况。
2、目前的代码推送方法大多还是依赖于人工审核,容易由于存在各种原因导致出现推送事故,并且在发生推送事故后再来寻找事故原因也会增加工作量,也即存在由于推送内容不规范导致出现代码推送事故的问题。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本申请提供了一种代码推送方法、装置、电子设备及可读介质,以解决上述“由于推送内容不规范导致出现代码推送事故”的技术问题。
2、根据本申请实施例的一个方面,本申请提供了一种代码推送方法,包括:在接收到代码提交指令时,获取待提交的目标代码以及与目标代码关联的注释文件,其中,注释文件中包括目标代码的基本内容以及目标代码的改动内容;对目标代码以及注释文件进行安全检测,得到第一检测结果;在第一检测结果指示目标代码以及注释文件通过安全检测时,将目标代码提交至本地仓库;在接收到针对目标代码的推送指令时,从推送指令中确定远程分支,并校验目标代码所属的本地分支与远程分支是否满足推送条件;若远程分支与本地分支满足推送条件,则将目标代码与注释文件推送至远程分支。
3、可选地,对目标代码以及注释文件进行安全检测,得到第一检测结果,包括:检测注释文件的有效性,得到第二检测结果;在第二检测结果指示注释文件具备有效性时,对目标代码进行静态检测,得到第三检测结果;在第三检测结果指示目标代码不存在缺陷时,则根据目标代码的提交种类对目标代码进行针对性检测,得到第四检测结果;在第四检测结果指示目标代码通过针对性检测时,将目标代码以及注释文件通过安全检测作为第一检测结果。
4、可选地,检测注释文件的有效性,包括:检测注释文件的格式是否遵循预设格式规范;检测注释文件中的注释信息是否包括目标代码的变更信息。
5、可选地,在得到第二检测结果之后,所述方法还包括:在第二检测结果指示注释文件不具备有效性时,停止检测,并将目标代码以及注释文件未通过安全检测作为第一检测结果;或者在第三检测结果指示目标代码存在缺陷时,停止检测,并将目标代码以及注释文件未通过安全检测作为第一检测结果;或者在第四检测结果指示目标代码未通过针对性检测时,将目标代码以及注释文件未通过安全检测作为第一检测结果。
6、可选地,校验目标代码所属的本地分支与远程分支是否满足推送条件,包括:校验远程分支是否存在于远程仓库中;若远程分支存在于远程仓库中,则校验本地分支是否正确跟踪远程分支;若本地分支正确跟踪远程分支,则判定本地分支与远程分支满足推送条件。
7、可选地,若存在以下任一情况,则判定本地分支与远程分支不满足推送条件:远程分支不存在于远程仓库中;本地分支无法正确跟踪远程分支。
8、可选地,在将目标代码与注释文件推送至远程分支之前,所述方法还包括:检查注释文件中是否存在代码变更标识符;若注释文件中不存在代码变更标识符,则获取代码变更标识符;将代码变更标识符添加至注释文件。
9、根据本申请实施例的另一方面,本申请提供了一种代码推送装置,包括:获取模块,用于在接收到代码提交指令时,获取待提交的目标代码以及与目标代码关联的注释文件,其中,注释文件中包括目标代码的基本内容以及目标代码的改动内容;检测模块,用于对目标代码以及注释文件进行安全检测,得到第一检测结果;提交模块,用于在第一检测结果指示目标代码以及注释文件通过安全检测时,将目标代码提交至本地仓库;校验模块,用于在接收到针对目标代码的推送指令时,从推送指令中确定远程分支,并校验目标代码所属的本地分支与远程分支是否满足推送条件;推送模块,用于若远程分支与本地分支满足推送条件,则将目标代码与注释文件推送至远程分支。
10、根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
11、根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
12、本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
13、本申请通过一种代码推送方法,包括:在接收到代码提交指令时,获取待提交的目标代码以及与目标代码关联的注释文件,其中,注释文件中包括目标代码的基本内容以及目标代码的改动内容;对目标代码以及注释文件进行安全检测,得到第一检测结果;在第一检测结果指示目标代码以及注释文件通过安全检测时,将目标代码提交至本地仓库;在接收到针对目标代码的推送指令时,从推送指令中确定远程分支,并校验目标代码所属的本地分支与远程分支是否满足推送条件;若远程分支与本地分支满足推送条件,则将目标代码与注释文件推送至远程分支。通过在代码提交时就自动进行安全检测,以及校验确认本地分支与远程分支满足推送条件之后再进行代码推送,保证了整个代码推送过程的规范性,解决了由于推送内容不规范导致出现代码推送事故的问题。
1.一种代码推送方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述目标代码以及所述注释文件进行安全检测,得到第一检测结果,包括:
3.根据权利要求2所述的方法,其特征在于,所述检测所述注释文件的有效性,包括:
4.根据权利要求2所述的方法,其特征在于,在得到所述第二检测结果之后,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述校验所述目标代码所属的本地分支与所述远程分支是否满足推送条件,包括:
6.根据权利要求5所述的方法,其特征在于,若存在以下任一情况,则判定所述本地分支与所述远程分支不满足所述推送条件:
7.根据权利要求1所述的方法,其特征在于,在将所述目标代码与所述注释文件推送至所述远程分支之前,所述方法还包括:
8.一种代码推送装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一所述方法。