CN115586919A - 一种基于git的代码管理方法及其管理装置 - Google Patents
一种基于git的代码管理方法及其管理装置 Download PDFInfo
- Publication number
- CN115586919A CN115586919A CN202211250845.7A CN202211250845A CN115586919A CN 115586919 A CN115586919 A CN 115586919A CN 202211250845 A CN202211250845 A CN 202211250845A CN 115586919 A CN115586919 A CN 115586919A
- Authority
- CN
- China
- Prior art keywords
- branch
- dev
- feature
- master
- library
- 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 31
- 238000012360 testing method Methods 0.000 claims abstract description 40
- 238000012827 research and development Methods 0.000 claims abstract description 32
- 238000011161 development Methods 0.000 claims abstract description 23
- 238000010367 cloning Methods 0.000 claims abstract description 16
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000008439 repair process Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 4
- 230000004044 response Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 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/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
- G06F8/751—Code clone detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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
本发明涉及数据处理技术领域,具体来说是一种基于git的代码管理方法及其管理装置,具体的:基于研发任务请求,在集中库中创立master分支;基于master分支的研发任务,在集中库中创立多个独立的feature分支,feature分支上的研发任务和master分支的研发任务建立映射关系,并克隆至本地库;feature分支上的研发任务完成后,在集中库中创立dev分支,并将完成研发任务的feature分支合并至dev分支,并同时克隆至本地库;在dev分支自测通过后,把此分支合并至master分支,合并成功后删除此dev分支,并建立tag分支,作好标记;有紧急情况处理时,在集中库中创立hotfix分支。本发明同现有技术相比,其优点在于:减少了仓库体积,降低数据库和服务器的运行压力;优化克隆代码的步骤,加快响应速度。
Description
技术领域
本发明涉及数据处理技术领域,具体来说是一种基于git的代码管理方法及其管理装置。
背景技术
在分布式系统领域内,开发人员在做代码开发时,会从git(分布式版本控制系统)子仓库克隆代码,有些git子仓库会下设git子子仓库,git子仓库会记载有git子子仓库的地址信息,现有的git子仓库克隆代码步骤复杂,不便于操作。
中国专利号:201811530262.3公开了一种基于git的代码管理方法、装置、设备和存储介质。该方法包括:客户端向git代码管理工具发送克隆代码的服务请求;git代码管理工具读取客户端中的配置文件,获取git子仓库地址,向git 子仓库地址对应的服务器发送克隆git子仓库的服务请求;服务器接收到服务请求后,将git子仓库代码返回给git代码管理工具;git代码管理工具将git子仓库代码克隆到客户端的本地数据库中。上述专利虽然在现有技术的基础上对git子仓库克隆进行了管理优化,但是方法不够完善,管理过程中还存在很多问题,映射关系不够清楚,调取代码工序繁琐,无法应该紧急情况,在遇到突发情况时,响应时间长,需要的仓库体积和相应的数据库内存过大。
发明内容
本发明的目的在于解决现有技术的不足,提供一种响应速度快且适应于各种情况的git的代码管理方法。
为了实现上述目的,设计一种基于git的代码管理方法,具体的:
S1. 基于研发任务请求,在集中库中创立master分支;
S2. 基于master分支的研发任务,在集中库中创立多个独立的feature分支,feature分支上的研发任务和master分支的研发任务建立映射关系,并克隆至本地库;
S3. feature分支上的研发任务完成后,在集中库中创立dev分支,并将完成研发任务的feature分支合并至dev分支,并同时克隆至本地库;
S4. 在dev分支自测通过后,把此分支合并至master分支,合并成功后删除此dev分支,并建立tag分支,作好标记;
S5. 有紧急情况处理时,在集中库中创立hotfix分支,并与master分支上已标记的研发任务建立映射关系,并克隆至本地库;
S6. 在集中库中建立一个新的dev分支,hotfix分支修复完成后,上传至集中库的dev分支,并克隆至本地库;
S7. dev分支测试通过后,合并至master分支,删除dev分支和hotfix分支,基于新的master分支和tag分支,作好新的标记。
优选的:所述步骤s3中,研发人员在本地库的feature分支上完成研发,并上传至集中库的feature分支上。
优选的:所述步骤s4中,测试人员在本地库的dev分支上完成测试,并上传至集中库的dev分支。
优选的:所述步骤S4中,在dev分支自测通过后,给测试人员去测试,测出bug让开发人员在此分支修改bug,测试通过后,把此分支合并至master分支。
优选的:所述feature分支上还包括jire版本号,jire版本号与tag分支的标记保持一致。
本发明还提供一种基于git的代码管理方法的管理装置,包括集中库装置和本地库装置,所述集中库装置包括master模块、若干feature模块、dev模块、tag模块和hotfix模块,所述master模块用于研发任务的存储,所述feature模块用于对研发任务的进行编辑和储存并同步向本地库装置发送克隆文件,将完成研发的任务发送至dev模块,所述dev模块用于对feature模块发送的研发任务进行自测,自测通过后将自动和master模块中对应的研发任务合并且建立tag模块并标记,所述hotfix模块用于处理紧急情况。
优选的:所述本地库装置包括若干feature模块、dev模块和hotfix模块,所述feature模块、dev模块和hotfix模块用于接收集中库装置各个模块发送的克隆信息,并在修改后将信息传送至集中库装置。
优选的:所述dev模块自测通过后,给测试人员去测试,测出bug让开发人员在此分支修改bug。
本发明同现有技术相比,其优点在于:
1.减少了仓库体积,降低数据库和服务器的运行压力;
2.优化克隆代码的步骤,加快响应速度。
附图说明
图1为本发明的工作流程示意图。
具体实施方式
实施例1
参见图1,一种基于git的代码管理方法,具体工作流程如下:研发人员从master分支创建feature分支+jire版本号,在此分支上做开发工作;开发完成后,将此分支合并到dev分支,开发环境构建用分支;自测通过后将此分支交给测试,此分支即为测试分支,修复bug、uat及上线,都在此分支上,上线成功后由研发经理即可把此分支合并到master分支,合并成功后从服务器上删除此分支,并基于最新master分支打好tag,做为标记;有紧急需求或者线上bug要处理时,可基于master由研发经理创建hotfx分支,给相应开发人员做本地开发, 开发完成后合并dev,自测通过后上线,上线成功后由研发经理合并到master分支,删除hotfx分支, 基于最新master分支打好tag做为标记;每上一次生产,把master 分支打个tag,该tag可与版本号致或对应的jira号一致,方便日后在某个时间点节恢复代码;对某个版本出现bug要修复时,可从tag拉取代码,创建hotfx分支,开发完成后合到dev自测成功后,交由测试,测试通过后上生产。由研发经理把httfx分支合到master分支,并打好tag。
需要说明的是,master 为主分支,新需求开发人员基于master 分支 clone 到本地代码库中,新命名为 feature/jire版本号或其实见名知意的分支,并在此分支上做开发工作。例如,两位工作人员在不同的时间地基于master分支,建立了分支 feature/1 ,开发完成后将feature/1 分支合并到dev 分支,dev分支为开发分支,即为开发人员自测用的分支,同时另一个人在后面的某个时间段也以master分支建立了feature/2 分支,feature/2分支也合并到dev分支,自测通过后把feature/2 分支即可发给测试。feature/1,feature/2 均为两个不同的功能的分支,测试测出问题后均在这feature分支修复bug,修复完成后分别 uat-> 生产,生产完成后,并确定上线成功后,把相应feature分支由研发经理合并到master分支,并删除对应的feature分支,以减少仓库体积,以最新的master 分支打好tag 做好标记。
若某个版本出现了bug,可由研发经理以相应的tag 为基础创建 hotfix分支,由相应的开发人员解决bug后,合并到dev分支自测通过,将此分支交给测试,测试通过并上线成功后由研发经理把此分支合并到master 分支,并删除此hotfix分支,以最新master分支打好tag。若生产环境上,即基于master分支有bug, 方法同上。
实施例2
一种基于git的代码管理方法的管理装置,包括集中库装置和本地库装置,所述集中库装置包括master模块、若干feature模块、dev模块、tag模块和hotfix模块,所述master模块用于研发任务的存储,所述feature模块用于对研发任务的进行编辑和储存并同步向本地库装置发送克隆文件,将完成研发的任务发送至dev模块,所述dev模块用于对feature模块发送的研发任务进行自测,自测通过后将自动和master模块中对应的研发任务合并且建立tag模块并标记,所述hotfix模块用于处理紧急情况。所述本地库装置包括若干feature模块、dev模块和hotfix模块,所述feature模块、dev模块和hotfix模块用于接收集中库装置各个模块发送的克隆信息,并在修改后将信息传送至集中库装置。
在上述装置的支撑下,研发人员能更好的完成研发任务,很好的完成git子仓库克隆代码的工作和git代码的管理。
以上所述,仅为此发明的具体实施方式,但本发明的保护范围不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案和新型的构思加于等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于git的代码管理方法,其特征在于,具体步骤如下:
S1. 基于研发任务请求,在集中库中创立master分支;
S2. 基于master分支的研发任务,在集中库中创立多个独立的feature分支,feature分支上的研发任务和master分支的研发任务建立映射关系,并克隆至本地库;
S3. feature分支上的研发任务完成后,在集中库中创立dev分支,并将完成研发任务的feature分支合并至dev分支,并同时克隆至本地库;
S4. 在dev分支自测通过后,把此分支合并至master分支,合并成功后删除此dev分支,并建立tag分支,作好标记;
S5. 有紧急情况处理时,在集中库中创立hotfix分支,并与master分支上已标记的研发任务建立映射关系,并克隆至本地库;
S6. 在集中库中建立一个新的dev分支,hotfix分支修复完成后,上传至集中库的dev分支,并克隆至本地库;
S7. dev分支测试通过后,合并至master分支,删除dev分支和hotfix分支,基于新的master分支和tag分支,作好新的标记。
2.如权利要求1所述的一种基于git的代码管理方法,其特征在于所述步骤s3中,研发人员在本地库的feature分支上完成研发,并上传至集中库的feature分支上。
3.如权利要求1所述的一种基于git的代码管理方法,其特征在于所述步骤s4中,测试人员在本地库的dev分支上完成测试,并上传至集中库的dev分支。
4.如权利要求1或3所述的一种基于git的代码管理方法,其特征在于所述步骤S4中,在dev分支自测通过后,给测试人员去测试,测出bug让开发人员在此分支修改bug,测试通过后,把此分支合并至master分支。
5.如权利要求1所述的一种基于git的代码管理方法,其特征在于所述feature分支上还包括jire版本号,jire版本号与tag分支的标记保持一致。
6.一种采用如权利要求1-4任一所述的代码管理方法的管理装置,其特征在于包括集中库装置和本地库装置,所述集中库装置包括master模块、若干feature模块、dev模块、tag模块和hotfix模块,所述master模块用于研发任务的存储,所述feature模块用于对研发任务的进行编辑和储存并同步向本地库装置发送克隆文件,将完成研发的任务发送至dev模块,所述dev模块用于对feature模块发送的研发任务进行自测,自测通过后将自动和master模块中对应的研发任务合并且建立tag模块并标记,所述hotfix模块用于处理紧急情况。
7.如权利要求5所述的一种基于git的代码管理方法的管理装置,其特征在于所述本地库装置包括若干feature模块、dev模块和hotfix模块,所述feature模块、dev模块和hotfix模块用于接收集中库装置各个模块发送的克隆信息,并在修改后将信息传送至集中库装置。
8.如权利要求5所述的一种基于git的代码管理方法的管理装置,其特征在于所述dev模块自测通过后,给测试人员去测试,测出bug让开发人员在此分支修改bug。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211250845.7A CN115586919A (zh) | 2022-10-13 | 2022-10-13 | 一种基于git的代码管理方法及其管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211250845.7A CN115586919A (zh) | 2022-10-13 | 2022-10-13 | 一种基于git的代码管理方法及其管理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115586919A true CN115586919A (zh) | 2023-01-10 |
Family
ID=84780599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211250845.7A Pending CN115586919A (zh) | 2022-10-13 | 2022-10-13 | 一种基于git的代码管理方法及其管理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115586919A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230350671A1 (en) * | 2021-05-04 | 2023-11-02 | Sdt Inc. | Method for replicating a project server for trouble-shooting and a cloud development platform system using the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415694A (zh) * | 2018-02-28 | 2018-08-17 | 山东汇贸电子口岸有限公司 | 一种基于GitFlow工作流的Android敏捷开发系统及方法 |
CN111352651A (zh) * | 2020-03-31 | 2020-06-30 | 中国建设银行股份有限公司 | 代码分支管理方法及装置 |
CN113760234A (zh) * | 2021-09-06 | 2021-12-07 | 小叶子(北京)科技有限公司 | 一种软件开发方法和系统 |
CN114528008A (zh) * | 2022-01-28 | 2022-05-24 | 中银金融科技有限公司 | 基于分布式版本控制系统的代码管控方法、设备及介质 |
-
2022
- 2022-10-13 CN CN202211250845.7A patent/CN115586919A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415694A (zh) * | 2018-02-28 | 2018-08-17 | 山东汇贸电子口岸有限公司 | 一种基于GitFlow工作流的Android敏捷开发系统及方法 |
CN111352651A (zh) * | 2020-03-31 | 2020-06-30 | 中国建设银行股份有限公司 | 代码分支管理方法及装置 |
CN113760234A (zh) * | 2021-09-06 | 2021-12-07 | 小叶子(北京)科技有限公司 | 一种软件开发方法和系统 |
CN114528008A (zh) * | 2022-01-28 | 2022-05-24 | 中银金融科技有限公司 | 基于分布式版本控制系统的代码管控方法、设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230350671A1 (en) * | 2021-05-04 | 2023-11-02 | Sdt Inc. | Method for replicating a project server for trouble-shooting and a cloud development platform system using the same |
US12001839B2 (en) * | 2021-05-04 | 2024-06-04 | Sdt Inc. | Method for replicating a project server for trouble-shooting and a cloud development platform system using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352651B (zh) | 代码分支管理方法及装置 | |
CN109976801B (zh) | 一种代码开发方法、系统及计算机可读存储介质 | |
CN108415694A (zh) | 一种基于GitFlow工作流的Android敏捷开发系统及方法 | |
EP2963546A1 (en) | Method for achieving software development transaction and electronic device | |
CN115586919A (zh) | 一种基于git的代码管理方法及其管理装置 | |
CN109656820A (zh) | 基于cbtc的智能自动化测试系统 | |
CN113760354B (zh) | 一种调度自动化系统的本体信息版本管控方法及装置 | |
CN110865806A (zh) | 代码处理方法、装置、服务器及存储介质 | |
CN116415912A (zh) | 一种代码管理装置及管理代码的方法 | |
CN112035124A (zh) | 应用程序部署方法及装置 | |
CN113900630A (zh) | 代码开发方法、装置、电子设备和可读存储介质 | |
CN112654975B (zh) | 一种光纤网络智能管理方法及管理系统 | |
CN114741115B (zh) | 一种多版本并发场景下的数据管理方法及系统 | |
CN114265595B (zh) | 一种基于智能合约的云原生应用开发与部署系统和方法 | |
CN112416791B (zh) | 一种测试对象的缺陷信息处理系统和方法 | |
CN112363747B (zh) | 一种继电设备在线巡检过程中的数据更新方法和装置 | |
CN114428621A (zh) | 一种作业自动化部署方法 | |
CN113886262A (zh) | 软件自动化测试方法、装置、计算机设备和存储介质 | |
CN111897557A (zh) | 一种业务系统的更新方法、装置、设备及存储介质 | |
CN113485759A (zh) | 微服务配置信息管理系统、方法、电子设备及存储介质 | |
CN112099805A (zh) | 一种发布应用的方法、装置、电子设备及存储介质 | |
CN116820488B (zh) | 一种DevOps体系下研发部署过程联动的方法 | |
TWI710896B (zh) | 整合雲端系統的方法及雲端系統 | |
CN113379364B (zh) | 核电站跨平台信息管理方法、装置、电子设备和存储介质 | |
CN112579443B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230110 |