CN113900680A - 代码管理方法、装置及计算设备 - Google Patents
代码管理方法、装置及计算设备 Download PDFInfo
- Publication number
- CN113900680A CN113900680A CN202010641069.8A CN202010641069A CN113900680A CN 113900680 A CN113900680 A CN 113900680A CN 202010641069 A CN202010641069 A CN 202010641069A CN 113900680 A CN113900680 A CN 113900680A
- Authority
- CN
- China
- Prior art keywords
- code
- original
- identifier
- original code
- updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 39
- 238000011161 development Methods 0.000 claims abstract description 97
- 238000012986 modification Methods 0.000 claims abstract description 65
- 230000004048 modification Effects 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- VOZKAJLKRJDJLL-UHFFFAOYSA-N 2,4-diaminotoluene Chemical compound CC1=CC=C(N)C=C1N VOZKAJLKRJDJLL-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及计算机技术领域,公开了一种代码管理方法、装置及计算设备。该方法包括:获取开发代码;将所述开发代码储存为原始代码,并生成所述原始代码的原始代码标识;获取针对所述开发代码的第一修改代码;按照预设标识生成规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识;根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新;若确定所述原始代码有更新,则将所述第一修改代码更新至所述原始代码中,并根据所述第一代码标识,更新所述原始代码标识。通过上述方式,本发明实施例能够在开发人员进行二次开发或者修改时避免造成冲突。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种代码管理方法、装置及计算设备。
背景技术
软件开发项目一般是由团队协作完成的,每个开发人员分别开发相同或者不同的部分,再对各个开发人员的部分进行整合,从而完成整个项目。因此,为了提高开发效率,需要进行代码管理。
目前的代码管理方法在开发人员进行二次开发或者修改时,可能存在多个开发人员同时对同一文件进行改动的情况,容易造成冲突。
发明内容
鉴于上述问题,本发明实施例提供了一种代码管理方法、装置及计算设备,能够在开发人员进行二次开发或者修改时避免造成冲突。
根据本发明实施例的第一方面,提供了一种代码管理方法,包括:获取开发代码;将所述开发代码储存为原始代码,并生成所述原始代码的原始代码标识;获取针对所述开发代码的第一修改代码;按照预设标识生成规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识;根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新;若确定所述原始代码有更新,则将所述第一修改代码更新至所述原始代码中,并根据所述第一代码标识,更新所述原始代码标识。
在一种可选的方式中,所述原始代码标识为序号,所述按照预设标识生成规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识,具体包括:按照所述预设标识生成规则中的单位值,将所述原始代码标识增加一个所述单位值,生成所述第一代码标识。
在一种可选的方式中,所述根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新,具体包括:判断所述第一代码标识与所述原始代码标识是否相同;若所述第一代码标识与所述原始代码标识不相同,则确定所述原始代码有更新。
在一种可选的方式中,所述方法还包括:
获取所述原始代码的原始地址信息;
获取所述第一修改代码的第一修改地址信息;
则,所述根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新,具体包括:判断所述第一代码标识与所述原始代码标识是否相同,并判断所述原始地址信息和所述第一修改地址信息是否相同;若所述第一代码标识与所述原始代码标识不相同且所述原始地址信息和所述第一修改地址信息相同,则确定所述原始代码有更新。
在一种可选的方式中,所述将所述第一修改代码更新至所述原始代码中,具体包括:在所述原始代码中确定与所述第一修改代码对应的原始代码段落;将所述原始代码段落替换为所述第一修改代码。
在一种可选的方式中,所述方法还包括:采用JSON数据格式储存所述原始代码、所述原始代码标识、所述第一更新代码和所述第一代码标识。
在一种可选的方式中,所述方法还包括:获取针对所述开发代码的第二修改代码;按照所述预设标识生成规则,基于所述第一代码标识生成所述第二修改代码的第二代码标识;根据所述第二代码标识与更新后的所述原始代码标识,判断更新后的所述原始代码是否有更新;若确定更新后的所述原始代码有更新,则将所述第二修改代码更新至更新后的所述原始代码中,并根据所述第二代码标识,更新更新后的所述原始代码标识。
根据本发明实施例的第二方面,提供了一种代码管理装置,包括:第一获取模块,用于获取开发代码;第一记录模块,用于将所述开发代码储存为原始代码,并生成所述原始代码的原始代码标识;第二获取模块,用于获取针对所述开发代码的第一修改代码;第二记录模块,用于按照预设规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识;判断模块,用于根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新;更新模块,用于若确定所述原始代码有更新,则将所述第一修改代码更新至所述原始代码中,并根据所述第一代码标识,更新所述原始代码标识。
根据本发明实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的代码管理方法的操作。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算设备上运行时,使得计算设备执行执行上述的代码管理方法。
本发明实施例通过获取开发代码,将开发代码储存为原始代码,并生成原始代码的原始代码标识,获取针对开发代码的第一修改代码,按照预设标识生成规则,基于原始代码标识生成第一修改代码的第一代码标识,根据第一代码标识与原始代码标识,判断原始代码是否有更新,若确定原始代码有更新,则将第一修改代码更新至原始代码中,并根据第一代码标识,更新原始代码标识,能够另存开发代码,并在开发代码被修改时进行及时更新和记录,能够在开发人员进行二次开发或者修改时避免造成冲突,并且能够自动更新修改的代码,提高了开发效率。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明其中一实施例提供的代码管理方法的流程示意图;
图2示出了本发明另一实施例提供的代码管理方法的流程示意图;
图3示出了本发明又一实施例提供的代码管理方法的流程示意图;
图4示出了本发明实施例提供的代码管理装置的结构示意图;
图5示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
目前的代码管理方法一般为:在服务器建立主库,各个开发人员从主库复制(fork)出自己的代码库(即建立个人分支),然后将个人分支克隆(clone)到本地服务器(即个人工作库);在进行代码修改时,开发人员先将修改的代码提交(commit)到个人工作库,再提交(push)到服务器端的个人分支,经过审核后,决定是否合并到主库。
但是,开发人员进行二次开发或者修改时,可能存在多个开发人员同时对同一代码文件进行改动的情况,容易造成冲突,并且,代码的拉取、对比更新都需要人工实现,再小的修改点也需要手工重复操作,工作效率较低。
基于此,本发明实施例提供了一种代码管理方法、装置及计算设备,能够在开发人员进行二次开发或者修改时避免造成冲突。
具体地,下面结合附图,对本发明实施例作进一步阐述。
其中,应当理解的是,本发明提供的下述实施例之间,只要不冲突,均可相互结合以形成新的实施方式。
图1示出了本发明其中一实施例提供的代码管理方法的流程示意图。该方法可以应用于计算设备。如图1所示,该方法包括:
步骤110、获取开发代码。
其中,开发代码是指已经经过首次开发的代码。开发代码可以存储在服务器,则获取开发代码具体可以为:从服务器拉取开发代码。需要说明的是,从服务器拉取的开发代码是指整个项目的完整代码。
步骤120、将开发代码储存为原始代码,并生成原始代码的原始代码标识。
其中,原始代码是开发代码的原始版本,用于作为后续代码更新的参照。
其中,原始代码标识可以为序号。例如,原始代码标识为v0.0.0_000(主版本号.副版本号.发布版本号_更改号),其中,主版本号、副版本号和发布版本号由代码管理人员在服务器端预设设置好,更改号预先设置初始值为000。
在本实施例中,在生成原始代码标识后,保存原始代码、原始代码标识以及原始代码和原始代码标识之间的对应关系。
步骤130、获取针对开发代码的第一修改代码。
其中,针对开发代码的第一修改代码是指在开发代码的基础上进行修改后得到的代码。当对开发代码进行二次开发或者修改时,开发人员先从服务器拉取开发代码中需要修改的部分到个人工作库,对该部分修改完成后,再将该部分上传到服务器。则获取针对开发代码的第一修改代码,具体可以为:每隔预设时间间隔从服务器拉取代码,从而获取第一修改代码。
步骤140、按照预设标识生成规则,基于原始代码标识生成第一修改代码的第一代码标识。
其中,预设标识生成规则是指用于在原始代码标识的基础上生成新的代码标识的规则。例如,可以在预设标识生成规则中设置单位值,则每次生成新的代码标识时,都基于前一代码标识递增一个单位值。
具体地,步骤140可以包括:按照预设标识生成规则中的单位值,将原始代码标识增加一个单位值,生成第一代码标识。例如,假设原始代码标识为v0.0.0_000,单位值为1,将原始代码标识中的更改号增加1,则生成的第一代码标识为v0.0.0_001。
在本实施例中,在生成第一代码标识后,保存第一修改代码、第一代码标识以及第一修改代码和第一代码标识之间的对应关系。
步骤150、根据第一代码标识与原始代码标识,判断原始代码是否有更新。
其中,原始代码是否有更新是指开发代码的原始版本是否有更新。具体地,步骤150可以包括:判断第一代码标识与原始代码标识是否相同;若第一代码标识与原始代码标识不相同,则确定原始代码有更新;若第一代码标识与原始代码标识相同,则确定原始代码无更新。例如,若原始代码标识为v0.0.0_000,第一代码标识为v0.0.0_001,第一代码标识与原始代码标识不相同,则确定原始代码有更新。通过以上方式,当第一代码标识与原始代码标识不相同,即说明服务器端代码已更新,即可能有开发人员添加了新功能或者对原本的某些功能进行了修改,则原始代码有更新。
在一些实施例中,该方法还可以包括:获取原始代码的原始地址信息;获取第一修改代码的第一修改地址信息;则步骤150具体可以包括:判断第一代码标识与原始代码标识是否相同,并判断原始地址信息和第一修改地址信息是否相同;若第一代码标识与原始代码标识不相同且原始地址信息和第一修改地址信息相同,则确定原始代码有更新;否则,确定原始代码无更新。通过以上方式,当服务器上同时存在多个开发代码时,能够确保第一修改代码和原始代码是相对应的。
步骤160、若确定原始代码有更新,则将第一修改代码更新至原始代码中,并根据第一代码标识,更新原始代码标识。
其中,将第一修改代码更新至原始代码,具体可以包括:在原始代码中确定与第一修改代码对应的原始代码段落;将原始代码段落替换为第一修改代码。
其中,由于开发人员对代码进行修改时,只是拉取需要修改的部分,第一修改代码只是一个代码段落,并不是整个项目中的完整代码。因此,需要先确定原始代码中与第一修改代码对应的原始代码段落,具体可以通过识别预设关键字或者段落标识等进行确定。例如,假设原始代码中有三个代码段落,三个代码段落的段落标识分别为1、2、3,第一修改代码的段落标识为2,则确定与第一修改代码对应的原始代码段落为原始代码中的第二个段落。
其中,将原始代码段落替换为第一修改代码,具体可以为:将第一修改代码拷贝到原始代码段落,从而替换原始代码段落。
其中,根据第一代码标识,更新原始代码标识,具体可以为:将第一代码标识拷贝到原始代码标识,从而将原始代码标识替换为第一代码标识。例如,假设原始代码标识为v0.0.0_000,第一代码标识为v0.0.0_001,则更新后的原始代码标识为v0.0.0_001。
在本实施例中,在更新原始代码以及原始代码标识后,保存更新后的原始代码、更新后的原始代码标识以及更新后的原始代码和更新后的原始代码标识之间的对应关系。
本发明实施例通过获取开发代码,将开发代码储存为原始代码,并生成原始代码的原始代码标识,获取针对开发代码的第一修改代码,按照预设标识生成规则,基于原始代码标识生成第一修改代码的第一代码标识,根据第一代码标识与原始代码标识,判断原始代码是否有更新,若确定原始代码有更新,则将第一修改代码更新至原始代码中,并根据第一代码标识,更新原始代码标识,能够另存开发代码,并在开发代码被修改时进行及时更新和记录,能够在开发人员进行二次开发或者修改时避免造成冲突,并且能够自动更新修改的代码,提高了开发效率。
在一些实施例中,该方法还包括:
步骤170、采用JSON数据格式储存原始代码、原始代码标识、第一更新代码和第一代码标识,并采用Ajax技术读取原始代码、原始代码标识、第一更新代码和第一代码标识。
其中,JSON(JavaScript Object Notation)数据格式是纯文本格式,具有良好的自我描述性,具有层级结构(值中存在值),便于阅读,并可通过JavaScript进行解析。异步JavaScript和XML(Asynchronous Javascript And XML,Ajax)技术一种创建交互式、快速动态网页应用的网页开发技术,能够在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页。使用Ajax技术配合JSON来完成任务,比使用Ajax技术配合扩展标记语言(Extensible Markup Language,XML)容易得多,并且速度快。如果使用XML数据格式存储内容,需要读取XML文档,然后通过XML DOM来遍历文档读取值并存储在变量中,则速度较慢。通过使用Ajax读取JSON数据格式的原始代码、原始代码标识、第一更新代码和第一代码标识,提高了数据处理速度。
在一些实施例中,对于本地留存的原始代码、原始代码标识、第一更新代码和第一代码标识等记录,不会进行自动删除。当开发过程中需要进行版本回溯时,而当时暂存的版本(如第一更新代码和第一代码标识)没有被推送至服务器,则可以对其进行查看、修改。通过该以上方式,能够进行本地备份,通过存储的更改信息进行有效回溯。
图2示出了本发明另一实施例提供的代码管理方法的流程示意图。该方法可以应用于计算设备。与上述实施例的不同之处在于,如图2所示,该方法还包括:
步骤210、获取针对开发代码的第二修改代码。
其中,针对开发代码的第二修改代码是指在开发代码的基础上进行修改后得到的代码。第二修改代码与第一修改代码是两次不同的修改生成的。例如,第二修改代码的生成时间与第一修改代码的生成时间不同,或者,第二修改代码的修改内容与第一修改代码的修改内容不同,等等。当对开发代码进行二次开发或者修改时,开发人员先从服务器拉取开发代码中需要修改的部分到个人工作库,对该部分修改完成后,再将该部分上传到服务器。则获取针对开发代码的第二修改代码,具体可以为:每隔预设时间间隔从服务器拉取代码,从而获取第二修改代码。
步骤220、按照预设标识生成规则,基于第一代码标识生成第二修改代码的第二代码标识。
具体地,按照预设标识生成规则中的单位值,将第一代码标识增加一个单位值,生成第二代码标识。例如,假设第一代码标识为v0.0.0_001,单位值为1,将第一代码标识中的更改号增加1,则生成的第二代码标识为v0.0.0_002。
在本实施例中,在生成第二代码标识后,保存第二修改代码、第二代码标识以及第二修改代码和第二代码标识之间的对应关系。
步骤230、根据第二代码标识与更新后的原始代码标识,判断更新后的原始代码是否有更新。
其中,更新后的原始代码标识是指根据所述第一代码标识生成的原始代码标识。更新后的原始代码是指将第一修改代码更新至原始代码得到的代码。
具体地,步骤230可以包括:判断第二代码标识与更新后的原始代码标识是否相同,若第二代码标识与更新后的原始代码标识不相同,则确定更新后的原始代码有更新;若第二代码标识与更新后的原始代码标识相同,则确定更新后的原始代码无更新。例如,若原始代码标识为v0.0.0_000,更新后的原始代码标识为v0.0.0_001,第二代码标识为v0.0.0_002,第二代码标识与更新后的原始代码标识不相同,则确定更新后的原始代码有更新。
步骤240、若确定更新后的原始代码有更新,则将第二修改代码更新至更新后的原始代码中,并根据第二代码标识,更新更新后的原始代码标识。
在本实施例中,可能出现同一时间两个或者两个以上开发员从服务器拉取了开发代码进行二次开发,为了保证原始代码具有所有开发人员开发的功能,需要每个开发人员修改的代码更新到原始代码中。
其中,将第二修改代码更新至更新后的原始代码中,具体可以为:将第一修改代码更新至原始代码后,将第二修改代码拷贝到与第二修改代码对应的原始代码段落,替换原始代码段落,从而将第二修改代码更新至更新后的原始代码。
其中,根据第二代码标识,更新更新后的原始代码标识,具体可以为:在根据第一代码标识更新原始代码标识后,将第二代码标识拷贝到原始代码标识,从而将原始代码标识替换为第二代码标识。例如,更新后的原始代码标识为v0.0.0_001,第二代码标识为v0.0.0_002,将第二修改代码更新至更新后的原始代码,即将原始代码标识修改为v0.0.0_002。
本发明实施例通过获取针对开发代码的第二修改代码,按照预设标识生成规则,基于第一代码标识生成第二修改代码的第二代码标识,根据第二代码标识与更新后的原始代码标识,判断更新后的原始代码是否有更新,若确定更新后的原始代码有更新,则将第二修改代码更新至更新后的原始代码中,并根据第二代码标识,更新更新后的原始代码标识,能够另存开发代码,并在开发代码被修改时进行及时更新和记录,能够在开发人员进行二次开发或者修改时避免造成冲突,并且能够自动更新修改的代码,提高了开发效率。
图3示出了本发明又一实施例提供的代码管理方法的流程示意图。如图3所示,该方法包括:
步骤301、获取开发代码<a、b、c>;
其中,开发代码包括a、b、c三个段落;
步骤302、将开发代码储存为原始代码<a、b、c>,并生成原始代码的原始代码标识v0.0.0_000;
步骤303、获取针对开发代码的第一修改代码<b’>;
开发人员甲对开发代码<a、b、c>中的段落<b>进行修改,生成<b’>,并将<b’>上传,则获取到第一修改代码<b’>;
步骤304、按照预设标识生成规则中的单位值,基于原始代码标识v0.0.0_000增加一个单位值,生成第一修改代码的第一代码标识v0.0.0_001;
步骤305、根据第一代码标识v0.0.0_001与原始代码标识v0.0.0_000,确定原始代码有更新;
步骤306、将第一修改代码<b’>更新至原始代码中;
在原始代码<a、b、c>中确定与第一修改代码<b’>对应的段落<b>,将<b>替换为<b’>,则将原始代码更新为<a、b’、c>;
步骤307、将原始代码标识v0.0.0_000更新为v0.0.0_001;
步骤308、获取针对开发代码的第二修改代码<a’>;
开发人员乙对开发代码<a、b、c>中的段落<a>进行修改,生成<a’>,并将<a’>上传,则获取到第二修改代码<a’>;
步骤309、按照预设标识生成规则中的单位值,基于第一代码标识v0.0.0_001增加一个单位值,生成第二修改代码的第二代码标识v0.0.0_002;
步骤310、根据第二代码标识v0.0.0_002与更新后的原始代码标识v0.0.0_001,确定更新后的原始代码有更新;
步骤311、将第二修改代码<a’>更新至更新后的原始代码中;
在更新后的原始代码<a、b’、c>中确定与第二修改代码<a’>对应的段落<a>,将<a>替换为<a’>,则将更新后的原始代码更新为<a’、b’、c>;
步骤312、将更新后的原始代码标识v0.0.0_001更新为v0.0.0_002。
本发明实施例能够另存开发代码,并按照同一预设标识生成规则对代码进行版本命名,当开发人员进行修改时,对修改内容进行记录,同时更新到新版本中,使得原始代码能够反映开发人员的操作,当多个开发人员同时对同一代码文件进行改动时,不会出现冲突,并且能够自动更新修改的代码,提高了开发效率。
图4示出了本发明实施例提供的代码管理装置的结构示意图。该装置可以应用于计算设备。如图4所示,该装置400包括:第一获取模块410、第一记录模块420、第二获取模块430、第二记录模块440、判断模块450、更新模块460。
其中,第一获取模块410用于获取开发代码;第一记录模块420用于将所述开发代码储存为原始代码,并生成所述原始代码的原始代码标识;第二获取模块430用于获取针对所述开发代码的第一修改代码;第二记录模块440用于按照预设规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识;判断模块450用于根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新;更新模块460用于若确定所述原始代码有更新,则将所述第一修改代码更新至所述原始代码中,并根据所述第一代码标识,更新所述原始代码标识。
在一种可选的方式中,所述原始代码标识为序号,所述第二记录模块440具体用于:按照所述预设标识生成规则中的单位值,将所述原始代码标识增加一个所述单位值,生成所述第一代码标识。
在一种可选的方式中,所述判断模块450具体用于:判断所述第一代码标识与所述原始代码标识是否相同;若所述第一代码标识与所述原始代码标识不相同,则确定所述原始代码有更新。
在一种可选的方式中,该装置400还包括:第三获取模块。第三获取模块用于获取所述原始代码的原始地址信息,以及获取所述第一修改代码的第一修改地址信息;则判断模块450具体用于:判断所述第一代码标识与所述原始代码标识是否相同,并判断所述原始地址信息和所述第一修改地址信息是否相同;若所述第一代码标识与所述原始代码标识不相同且所述原始地址信息和所述第一修改地址信息相同,则确定所述原始代码有更新。
在一种可选的方式中,所述更新模块460具体用于:在所述原始代码中确定与所述第一修改代码对应的原始代码段落;将所述原始代码段落替换为所述第一修改代码。
在一种可选的方式中,该装置400还包括:采用JSON数据格式储存所述原始代码、所述原始代码标识、所述第一更新代码和所述第一代码标识。
在一种可选的方式中,该装置400还包括:第四获取模块和第三记录模块。第四获取模块用于获取针对所述开发代码的第二修改代码;第三记录模块用于按照所述预设标识生成规则,基于所述第一代码标识生成所述第二修改代码的第二代码标识。判断模块还用于根据所述第二代码标识与更新后的所述原始代码标识,判断更新后的所述原始代码是否有更新;更新模块还用于若确定更新后的所述原始代码有更新,则将所述第二修改代码更新至更新后的所述原始代码中,并根据所述第二代码标识,更新更新后的所述原始代码标识。
需要说明的是,本发明实施例提供代码管理装置是能够执行上述代码管理方法的装置,则上述代码管理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例通过获取开发代码,将开发代码储存为原始代码,并生成原始代码的原始代码标识,获取针对开发代码的第一修改代码,按照预设标识生成规则,基于原始代码标识生成第一修改代码的第一代码标识,根据第一代码标识与原始代码标识,判断原始代码是否有更新,若确定原始代码有更新,则将第一修改代码更新至原始代码中,并根据第一代码标识,更新原始代码标识,能够另存开发代码,并在开发代码被修改时进行及时更新和记录,能够在开发人员进行二次开发或者修改时避免造成冲突,并且能够自动更新修改的代码,提高了开发效率。
图5示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口504,用于与服务器等的网元通信。处理器502,用于执行程序510,具体可以执行上述用于代码管理方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机可执行指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。内容传输网络包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以被处理器502调用使计算设备执行上述实施例中的代码管理方法中的操作。
本发明实施例通过获取开发代码,将开发代码储存为原始代码,并生成原始代码的原始代码标识,获取针对开发代码的第一修改代码,按照预设标识生成规则,基于原始代码标识生成第一修改代码的第一代码标识,根据第一代码标识与原始代码标识,判断原始代码是否有更新,若确定原始代码有更新,则将第一修改代码更新至原始代码中,并根据第一代码标识,更新原始代码标识,能够另存开发代码,并在开发代码被修改时进行及时更新和记录,能够在开发人员进行二次开发或者修改时避免造成冲突,并且能够自动更新修改的代码,提高了开发效率。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在计算设备上运行时,使得计算设备执行上述任意方法实施例中的代码管理方法。可执行指令具体可以用于使得计算设备执行上述实施例中的代码管理方法中的操作。
本发明实施例通过获取开发代码,将开发代码储存为原始代码,并生成原始代码的原始代码标识,获取针对开发代码的第一修改代码,按照预设标识生成规则,基于原始代码标识生成第一修改代码的第一代码标识,根据第一代码标识与原始代码标识,判断原始代码是否有更新,若确定原始代码有更新,则将第一修改代码更新至原始代码中,并根据第一代码标识,更新原始代码标识,能够另存开发代码,并在开发代码被修改时进行及时更新和记录,能够在开发人员进行二次开发或者修改时避免造成冲突,并且能够自动更新修改的代码,提高了开发效率。
本发明实施例提供一种代码管理装置,用于执行上述代码管理方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使计算设备执行上述任意方法实施例中的代码管理方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的代码管理方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种代码管理方法,其特征在于,包括:
获取开发代码;
将所述开发代码储存为原始代码,并生成所述原始代码的原始代码标识;
获取针对所述开发代码的第一修改代码;
按照预设标识生成规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识;
根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新;
若确定所述原始代码有更新,则将所述第一修改代码更新至所述原始代码中,并根据所述第一代码标识,更新所述原始代码标识。
2.根据权利要求1所述的方法,其特征在于,所述按照预设标识生成规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识,具体包括:
按照所述预设标识生成规则中的单位值,将所述原始代码标识增加一个所述单位值,生成所述第一代码标识。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新,具体包括:
判断所述第一代码标识与所述原始代码标识是否相同;
若所述第一代码标识与所述原始代码标识不相同,则确定所述原始代码有更新。
4.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
获取所述原始代码的原始地址信息;
获取所述第一修改代码的第一修改地址信息;
所述根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新,具体包括:
若所述第一代码标识与所述原始代码标识不相同且所述原始地址信息和所述第一修改地址信息相同,则确定所述原始代码有更新。
5.根据权利要求1所述的方法,其特征在于,所述将所述第一修改代码更新至所述原始代码中,具体包括:
在所述原始代码中确定与所述第一修改代码对应的原始代码段落;
将所述原始代码段落替换为所述第一修改代码。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用JSON数据格式储存所述原始代码、所述原始代码标识、所述第一更新代码和所述第一代码标识。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
获取针对所述开发代码的第二修改代码;
按照所述预设标识生成规则,基于所述第一代码标识生成所述第二修改代码的第二代码标识;
根据所述第二代码标识与更新后的所述原始代码标识,判断更新后的所述原始代码是否有更新;
若确定更新后的所述原始代码有更新,则将所述第二修改代码更新至更新后的所述原始代码中,并根据所述第二代码标识,更新更新后的所述原始代码标识。
8.一种代码管理装置,其特征在于,包括:
第一获取模块,用于获取开发代码;
第一记录模块,用于将所述开发代码储存为原始代码,并生成所述原始代码的原始代码标识;
第二获取模块,用于获取针对所述开发代码的第一修改代码;
第二记录模块,用于按照预设规则,基于所述原始代码标识生成所述第一修改代码的第一代码标识;
判断模块,用于根据所述第一代码标识与所述原始代码标识,判断所述原始代码是否有更新;
更新模块,用于若确定所述原始代码有更新,则将所述第一修改代码更新至所述原始代码中,并根据所述第一代码标识,更新所述原始代码标识。
9.一种计算设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任一项所述的代码管理方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算设备上运行时,使得计算设备执行如权利要求1-7任一项所述的代码管理方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010641069.8A CN113900680A (zh) | 2020-07-06 | 2020-07-06 | 代码管理方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010641069.8A CN113900680A (zh) | 2020-07-06 | 2020-07-06 | 代码管理方法、装置及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900680A true CN113900680A (zh) | 2022-01-07 |
Family
ID=79186559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010641069.8A Pending CN113900680A (zh) | 2020-07-06 | 2020-07-06 | 代码管理方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900680A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477469A (zh) * | 2009-02-06 | 2009-07-08 | 杭州华三通信技术有限公司 | 一种启动代码的可靠性读取方法、写入方法和装置 |
US20130036400A1 (en) * | 2011-08-02 | 2013-02-07 | International Business Machines Corporation | Pre-merge conflict avoidance |
CN103885807A (zh) * | 2014-04-03 | 2014-06-25 | 四川九成信息技术有限公司 | 设备程序更新方法 |
US20140237447A1 (en) * | 2013-02-19 | 2014-08-21 | Codice Software, S.L | Method for programming language dependent merging of program codes |
US20140344602A1 (en) * | 2013-05-14 | 2014-11-20 | Samsung Electronics Co., Ltd. | Apparatus and method managing power based on data |
CN106055334A (zh) * | 2016-06-01 | 2016-10-26 | 努比亚技术有限公司 | 代码管理系统及方法 |
CN107908421A (zh) * | 2017-09-29 | 2018-04-13 | 北京创鑫旅程网络技术有限公司 | 软件代码版本管理与发布的方法及装置 |
US20180136930A1 (en) * | 2016-11-11 | 2018-05-17 | Sap Se | Automated identification of code dependency |
CN108984197A (zh) * | 2018-07-12 | 2018-12-11 | 北京京东金融科技控股有限公司 | 一种代码更新方法和装置 |
CN108984413A (zh) * | 2018-07-24 | 2018-12-11 | 浙江数链科技有限公司 | 分支代码管理方法及装置 |
CN110162334A (zh) * | 2019-05-29 | 2019-08-23 | 上海摩软通讯技术有限公司 | 一种代码管理方法、装置、存储介质及计算机程序产品 |
GB201918564D0 (en) * | 2019-12-16 | 2020-01-29 | British Telecomm | Software code management |
CN110895472A (zh) * | 2018-09-13 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 一种识别业务变更的方法和装置 |
CN111324375A (zh) * | 2020-02-17 | 2020-06-23 | 深圳壹账通智能科技有限公司 | 代码管理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-07-06 CN CN202010641069.8A patent/CN113900680A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477469A (zh) * | 2009-02-06 | 2009-07-08 | 杭州华三通信技术有限公司 | 一种启动代码的可靠性读取方法、写入方法和装置 |
US20130036400A1 (en) * | 2011-08-02 | 2013-02-07 | International Business Machines Corporation | Pre-merge conflict avoidance |
US20140237447A1 (en) * | 2013-02-19 | 2014-08-21 | Codice Software, S.L | Method for programming language dependent merging of program codes |
US20140344602A1 (en) * | 2013-05-14 | 2014-11-20 | Samsung Electronics Co., Ltd. | Apparatus and method managing power based on data |
CN103885807A (zh) * | 2014-04-03 | 2014-06-25 | 四川九成信息技术有限公司 | 设备程序更新方法 |
CN106055334A (zh) * | 2016-06-01 | 2016-10-26 | 努比亚技术有限公司 | 代码管理系统及方法 |
US20180136930A1 (en) * | 2016-11-11 | 2018-05-17 | Sap Se | Automated identification of code dependency |
CN107908421A (zh) * | 2017-09-29 | 2018-04-13 | 北京创鑫旅程网络技术有限公司 | 软件代码版本管理与发布的方法及装置 |
CN108984197A (zh) * | 2018-07-12 | 2018-12-11 | 北京京东金融科技控股有限公司 | 一种代码更新方法和装置 |
CN108984413A (zh) * | 2018-07-24 | 2018-12-11 | 浙江数链科技有限公司 | 分支代码管理方法及装置 |
CN110895472A (zh) * | 2018-09-13 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 一种识别业务变更的方法和装置 |
CN110162334A (zh) * | 2019-05-29 | 2019-08-23 | 上海摩软通讯技术有限公司 | 一种代码管理方法、装置、存储介质及计算机程序产品 |
GB201918564D0 (en) * | 2019-12-16 | 2020-01-29 | British Telecomm | Software code management |
CN111324375A (zh) * | 2020-02-17 | 2020-06-23 | 深圳壹账通智能科技有限公司 | 代码管理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8887135B2 (en) | Generating test cases for functional testing of a software application | |
US9069829B2 (en) | Data items manager | |
CN107038519B (zh) | 用于系统之间的双向数据同步的方法和系统 | |
US9733977B2 (en) | Distributed processing system, distributed processing device, distributed processing method, and distributed processing program | |
US20220197620A1 (en) | Deploying micro frontends to different clusters from a single repository | |
US8615729B2 (en) | Extending existing model-to-model transformations | |
US20200210488A1 (en) | Automatic resource management for build systems | |
CN115794202A (zh) | 一种数据配置方法及引擎、档案系统、计算机存储介质 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
JP2013534347A (ja) | 高性能コンピューティングアプリケーションの実行のためのシステムおよび方法 | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN110321505B (zh) | 数据一致性校验方法及装置 | |
CN113900680A (zh) | 代码管理方法、装置及计算设备 | |
CN113535684B (zh) | 一种基于Activiti的自主指挥控制方法 | |
CN113448493B (zh) | 用于备份数据的方法、电子设备和计算机可读介质 | |
CN111610908B (zh) | 一种生成框架图的方法、计算机设备及可读存储介质 | |
US20120174078A1 (en) | Smart cache for a server test environment in an application development tool | |
CN109726346B (zh) | 页面组件处理方法及装置 | |
US9052906B2 (en) | Modularized customization of a model in a model driven development environment | |
CN112445468A (zh) | Typescript类型文件生成方法、装置、设备及计算机可读存储介质 | |
US20160103814A1 (en) | Generating web browser views for applications | |
CN113806327A (zh) | 一种数据库设计方法、装置及相关设备 | |
US9626228B1 (en) | Synchronizing stateless process across multiple instances | |
CN115408047B (zh) | 一种版本发布方法、装置及电子设备 | |
CN115826880B (zh) | 对象存储系统的本地缓存方法、装置、系统、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |