CN115220779A - 一种代码库管理方法、装置及计算机介质 - Google Patents

一种代码库管理方法、装置及计算机介质 Download PDF

Info

Publication number
CN115220779A
CN115220779A CN202210715350.0A CN202210715350A CN115220779A CN 115220779 A CN115220779 A CN 115220779A CN 202210715350 A CN202210715350 A CN 202210715350A CN 115220779 A CN115220779 A CN 115220779A
Authority
CN
China
Prior art keywords
code
library
branch
sub
main
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
Application number
CN202210715350.0A
Other languages
English (en)
Inventor
刘牧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yunxi Technology Co ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN202210715350.0A priority Critical patent/CN115220779A/zh
Publication of CN115220779A publication Critical patent/CN115220779A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及代码库管理领域,具体提供了一种代码库管理方法,具有如下步骤:S1、基于gitee主代码库ZDP fork子库ZDP_groupName,有几个组就fork几个子库;S2、配置gitee主代码库ZDP的提交权限;S3、创建定时任务,每天固定时间从主代码库ZDP同步代码到本地,再由本地提交代码到远端各fork子库ZDP_groupName;S4、各子库ZDP_groupName的主分支develop创建CI流水线进行日构建。与现有技术相比,本发明同时主代码库的有效分支数量也得到了很好的控制,使得主代码库分支干净整洁,方便管理。

Description

一种代码库管理方法、装置及计算机介质
技术领域
本发明涉及代码库管理领域,具体提供一种代码库管理方法、装置及计算机介质。
背景技术
当产品的研发团队规模大于100人时,git上创建的统一研发代码库的分支就会与日俱增,当各个特性分支同时提交到主分支时就会产生各种各样的冲突,解决起来比较耗时。同时研发人员有时只关注自己创建的分支,在众多的分支中寻找目标分支也比较耗时。同时给代码库管理也带来一定的难度。
发明内容
本发明是针对上述现有技术的不足,提供一种实用性强的代码库管理方法。
本发明进一步的技术任务是提供一种设计合理,安全适用的代码库管理装置。
本发明进一步的技术任务是提供一种计算机可读介质。
本发明解决其技术问题所采用的技术方案是:
一种代码库管理方法,具有如下步骤:
S1、基于gitee主代码库ZDP fork子库ZDP_groupName,有几个组就fork几个子库;
S2、配置gitee主代码库ZDP的提交权限;
S3、创建定时任务,每天固定时间从主代码库ZDP同步代码到本地,再由本地提交代码到远端各fork子库ZDP_groupName;
S4、各子库ZDP_groupName的主分支develop创建CI流水线进行日构建。
进一步的,在步骤S2中,配置gitee主代码库ZDP的提交权限,只能由子库ZDP的develop分支向主库的develop分支提交MR,并配置好gitee代码库的codereview权限。
进一步的,在步骤S4中,各子库ZDP_groupName的主分支develop创建CI流水线进行日构建,构建成功后从主代码库ZDP同步代码后再进行流水线构建,构建成功后,子库develop分支提交MR到主库进行代码合并。
进一步的,在进行分支构建时,具有以下步骤:
(1)主库的master分支checkout Develop分支;
(2)各组子库管理员从主库Develop分支每日更新到本地代码仓库,再由本地代码仓库推送到远端fork子库;
(3)在子库进行功能特性开发,由子库develop分支checkout出特性分支进行功能开发,开发完成后合并到子库develop分支;
(4)各组的功能特性都统一提交到子库的develop分支。
进一步的,在步骤(1)中,版本发布时由主库Develop分支checkout Release分支发版,同时提交最新代码到Master分支,并打版本号tag。
进一步的,在步骤(4)中,各组的功能特性都统一提交到子库的develop分支,在组内解决完冲突后将主库代码同步到子库后再次解决冲突,解决完成后合并最新代码到主库develop分支,根据主库配置的codereview权限codereview成功后代码合并成功。
一种代码库管理装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行一种代码库管理方法。
一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行一种代码库管理方法。
本发明的一种代码库管理方法、装置及计算机介质和现有技术相比,具有以下突出的有益效果:
本发明降低了代码库管理成本,通过分库管理,将各组内的功能特性先在子库内进行一次合并和冲突解决,进而使得主库解决冲突得次数大大减少,加快持续集成、持续构建的速度;同时主代码库的有效分支数量也得到了很好的控制,使得主代码库分支干净整洁,方便管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1是一种代码库管理方法中分支构建示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
下面给出一个最佳实施例:
如图1所示,本实施例中版本控制:版本控制是一种软件工程技巧,能在软件开发的过程中,确保由不同人所编辑的同一程序文件都得到同步。
分支和提交:分支定义为对代码库的特定提交序列,我们将每个分支上所有的更改都记录为提交。这不仅可以确保没有人忘记任何微小的更改,而且记录更改使执行合并更加容易,尤其是当几个人更改了同一文件时。使用分支意味着可以把我们的工作从开发主线上分离开,以免影响开发主线。
合并与冲突:当来自一个分支的提交被应用到另一分支时,即为分支合并。合并中最常发生的就是冲突,常令我们头疼。当两个人都将变量名称更改为不同的名称,则存在冲突,如果没有人工干预,系统将无法自行处理,这属于文本冲突。而有时文本合并没有问题,系统仍无法正常工作,比如一个人更改了函数的名称,另一个人向其他分支添加了一些代码,仍以旧名称调用该函数,系统可能无法构建,也可能会构建成功但在运行时失败,这属于语义冲突。
fork仓库:“fork”的概念不同于”克隆”。在克隆仓库时,会获得完全一样的仓库副本,但克隆发生在本地计算机上,并且克隆的是远程仓库。当你fork仓库时,会创建远程仓库的一份新副本。新副本也是一个远程仓库,但它现在属于你。
CI、CD:持续构建、持续部署是敏捷开发中重要的一环。CI即Continuousintegration,持续构建,CD即Continuous Deploy,持续部署。在开发或者测试环境中,将构建和发布做成自动化非常节约人力、减少人为失误从而提升开发效率的一项工作。
一种代码库管理方法,具有如下步骤:
S1、基于gitee主代码库ZDP fork子库ZDP_groupName,有几个组就fork几个子库。
S2、配置gitee主代码库ZDP的提交权限,只能由子库ZDP的develop分支向主库的develop分支提交MR(merge request),并配置好gitee代码库的codereview权限。
S3、创建定时任务,每天固定时间从主代码库ZDP同步代码到本地,再由本地提交代码到远端各fork子库ZDP_groupName;
S4、各子库ZDP_groupName的主分支develop创建CI流水线进行日构建,构建成功后从主代码库ZDP同步代码后再进行流水线构建,构建成功后,子库develop分支提交MR到主库进行代码合并。
在进行分支构建时,具有以下步骤:
(1)主库的master分支checkout Develop分支,版本发布时由主库Develop分支checkout Release分支发版,同时提交最新代码到Master分支,并打版本号tag。
(2)各组子库管理员从主库Develop分支每日更新到本地代码仓库,再由本地代码仓库推送到远端fork子库,从而保证fork子库的代码和主库代码尽量版本接近(也可通过定时任务完成同步)。
(3)在子库进行功能特性开发,由子库develop分支checkout出特性分支进行功能开发,开发完成后合并到子库develop分支;
(4)各组的功能特性都统一提交到子库的develop分支,在组内解决完冲突后将主库代码同步到子库后再次解决冲突,解决完成后合并最新代码到主库develop分支,根据主库配置的codereview权限codereview成功后代码合并成功。
一种代码库管理装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行一种代码库管理方法。
一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行一种代码库管理方法。
上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种代码库管理方法、装置及计算机介质权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (8)

1.一种代码库管理方法,其特征在于,具有如下步骤:
S1、基于gitee主代码库ZDP fork子库ZDP_groupName,有几个组就fork几个子库;
S2、配置gitee主代码库ZDP的提交权限;
S3、创建定时任务,每天固定时间从主代码库ZDP同步代码到本地,再由本地提交代码到远端各fork子库ZDP_groupName;
S4、各子库ZDP_groupName的主分支develop创建CI流水线进行日构建。
2.根据权利要求1所述的一种代码库管理方法,其特征在于,在步骤S2中,配置gitee主代码库ZDP的提交权限,只能由子库ZDP的develop分支向主库的develop分支提交MR,并配置好gitee代码库的codereview权限。
3.根据权利要求2所述的一种代码库管理方法,其特征在于,在步骤S4中,各子库ZDP_groupName的主分支develop创建CI流水线进行日构建,构建成功后从主代码库ZDP同步代码后再进行流水线构建,构建成功后,子库develop分支提交MR到主库进行代码合并。
4.根据权利要求3所述的一种代码库管理方法,其特征在于,在进行分支构建时,具有以下步骤:
(1)主库的master分支checkout Develop分支;
(2)各组子库管理员从主库Develop分支每日更新到本地代码仓库,再由本地代码仓库推送到远端fork子库;
(3)在子库进行功能特性开发,由子库develop分支checkout出特性分支进行功能开发,开发完成后合并到子库develop分支;
(4)各组的功能特性都统一提交到子库的develop分支。
5.根据权利要求4所述的一种代码库管理方法,其特征在于,在步骤(1)中,版本发布时由主库Develop分支checkout Release分支发版,同时提交最新代码到Master分支,并打版本号tag。
6.根据权利要求5所述的一种代码库管理方法,其特征在于,在步骤(4)中,各组的功能特性都统一提交到子库的develop分支,在组内解决完冲突后将主库代码同步到子库后再次解决冲突,解决完成后合并最新代码到主库develop分支,根据主库配置的codereview权限codereview成功后代码合并成功。
7.一种代码库管理装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至6中任一所述的方法。
8.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至6任一所述的方法。
CN202210715350.0A 2022-06-23 2022-06-23 一种代码库管理方法、装置及计算机介质 Pending CN115220779A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210715350.0A CN115220779A (zh) 2022-06-23 2022-06-23 一种代码库管理方法、装置及计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210715350.0A CN115220779A (zh) 2022-06-23 2022-06-23 一种代码库管理方法、装置及计算机介质

Publications (1)

Publication Number Publication Date
CN115220779A true CN115220779A (zh) 2022-10-21

Family

ID=83609227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210715350.0A Pending CN115220779A (zh) 2022-06-23 2022-06-23 一种代码库管理方法、装置及计算机介质

Country Status (1)

Country Link
CN (1) CN115220779A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562718A (zh) * 2022-11-23 2023-01-03 云账户技术(天津)有限公司 一种纯前端静态资源内容发布平台的构建方法及装置
CN116226066A (zh) * 2023-04-28 2023-06-06 京东科技控股股份有限公司 低代码平台代码同步方法和装置、电子设备、存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562718A (zh) * 2022-11-23 2023-01-03 云账户技术(天津)有限公司 一种纯前端静态资源内容发布平台的构建方法及装置
CN116226066A (zh) * 2023-04-28 2023-06-06 京东科技控股股份有限公司 低代码平台代码同步方法和装置、电子设备、存储介质
CN116226066B (zh) * 2023-04-28 2023-09-01 京东科技控股股份有限公司 低代码平台代码同步方法和装置、电子设备、存储介质

Similar Documents

Publication Publication Date Title
CN115220779A (zh) 一种代码库管理方法、装置及计算机介质
US7711693B2 (en) Deployment of life-cycle model for LDAP applications
US7149761B2 (en) System and method for managing the synchronization of replicated version-managed databases
US8689179B2 (en) Transportable refactoring object
RU2417426C2 (ru) Клонирование и управление фрагментами базы данных
US8010962B2 (en) Infrastructure for the automation of the assembly of schema maintenance scripts
US9892185B2 (en) Method and system for syncing data structures
US7757226B2 (en) Method and mechanism for performing a rolling upgrade of distributed computer software
US7490115B2 (en) Commitment chains for conflict resolution between disconnected data sharing applications
JP4573277B2 (ja) データベース矛盾解消方式
US20070245332A1 (en) Method and apparatus to perform an application software migration
US7099889B2 (en) System and method for decoupling object identification for the purpose of object switching in database systems
CN108369601A (zh) 关系结构化数据中的提升属性
CN108369599A (zh) 冗余数据中心间的复制控制
CN104423960A (zh) 一种项目持续集成的方法及系统
CN109753511B (zh) 一种大数据平台的跨地域实时同步方法及系统
CN108431808A (zh) 对分区的数据存储空间当中的结构化数据记录的提醒处理
CN108431807A (zh) 分区数据存储空间中结构化数据记录的复制
CN107038519B (zh) 用于系统之间的双向数据同步的方法和系统
US20080059941A1 (en) Method and system for supporting a collaborative development environment
EP4189914B1 (en) Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems
US10452304B2 (en) Efficient repository migration and storage
CN111258985A (zh) 数据集群迁移方法及装置
CN113656384B (zh) 数据处理方法、分布式数据库系统、电子设备及存储介质
CN105550342B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240729

Address after: Room 305-22, Building 2, No. 1158 Zhangdong Road and No. 1059 Dangui Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant after: Shanghai Yunxi Technology Co.,Ltd.

Country or region after: China

Address before: 250100 Ji'nan hi tech Zone No. 2877, Shandong Province

Applicant before: INSPUR SOFTWARE GROUP Co.,Ltd.

Country or region before: China