CN109271194A - 基于分布式版本控制系统的分支访问方法和装置 - Google Patents

基于分布式版本控制系统的分支访问方法和装置 Download PDF

Info

Publication number
CN109271194A
CN109271194A CN201810960642.4A CN201810960642A CN109271194A CN 109271194 A CN109271194 A CN 109271194A CN 201810960642 A CN201810960642 A CN 201810960642A CN 109271194 A CN109271194 A CN 109271194A
Authority
CN
China
Prior art keywords
branch
catalogue
code file
stored
version control
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.)
Granted
Application number
CN201810960642.4A
Other languages
English (en)
Other versions
CN109271194B (zh
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.)
Wuba Co Ltd
Original Assignee
Wuba 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 Wuba Co Ltd filed Critical Wuba Co Ltd
Priority to CN201810960642.4A priority Critical patent/CN109271194B/zh
Publication of CN109271194A publication Critical patent/CN109271194A/zh
Application granted granted Critical
Publication of CN109271194B publication Critical patent/CN109271194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分布式版本控制系统的分支访问方法、装置、终端及存储介质,其中,所述方法包括:确定分布式版本控制系统中完整代码文件的若干分支;为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。本发明通过对经常访问的分支进行单独保存,能够随时访问任意分支,不需要分支切换,且分支的访问不会产生冲突,解决了分支切换时执行效率低的问题,提高了开发和测试效率。

Description

基于分布式版本控制系统的分支访问方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于分布式版本控制系统的分支访问方法和装置。
背景技术
服务器上存储有一份代码,文件所占空间很大,由分布式版本控制系统git进行版本管理,如果下载特别耗时,可能要花上1个小时。考虑效率问题,如果有任务要用这份代码,比如打包任务,这时就不能临时去下载,只能用本地的这份代码供各任务使用。如果多任务都要同时使用这份代码,并且需要切换的分支不一样,就会有冲突或者任务会出错。在绝大部分任务中,可能只在2~3个分支间切换,如打包任务,通常是在当前版本分支加上前面一两个分支(分支通常指版本分支,以下所称的分支均为版本分支,也称版本)中进行。
现有技术中,为了解决多任务不同分支切换产生冲突的问题,通常是采用任务串行的方式去执行。
然而,这种任务串行方式影响了执行效率,如果绝大部分任务要切换的分支是一致的,串行的效率极低。
发明内容
本发明实施例提供一种基于分布式版本控制系统的分支访问方法、装置、终端及存储介质,用以解决现有技术中存在的分支切换时执行效率低的问题。
第一方面,本发明实施例提供一种基于分布式版本控制系统的分支访问方法,包括:
确定分布式版本控制系统中完整代码文件的若干分支;
为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
可选的,所述为指定分支创建第一分支目录具体包括:以指定分支的分支名作为目录名,为指定分支创建第一分支目录。
可选的,若根据待访问的目标分支,未查找到对应的第一分支目录时,所述方法还包括:创建第二分支目录,将所述目标分支的完整代码文件代码文件复制存放到所述第二分支目录中下,在所述第二分支目录中获取完整文件中的目标访问分支
可选的,在将所述指定分支的代码文件存储在对应的第一分支目录下时后,和/或,在将目标分支的代码文件存放到所述第二分支目录下时在将所述完整代码文件复制到第二分支目录中后,所述方法还包括具体包括:将完整的代码文件复制到所述第一和/或第二分支目录中,在所述完整的代码文件中定位到指定分支,同时删除版本控制文件、以删除指定分支以外的其他分支。
可选的,当需要对第一分支目录和/或第二分支目录中的代码文件进行更新时,所述方法还包括:
检测原始的完整代码文件,确定并获取确定需要更新的分支、以并对待更新的分支中的代码文件进行更新;
将更新后的分支中的代码文件存放到与所述分支对应的分支目录下。
可选的,所述将更新后的分支中的代码文件存放到与所述分支对应的分支目录下,具体包括:
将更新后的分支中的全部代码文件以增量更新的方式存放到与所述分支对应的分支目录下。
第二方面,本发明实施例提供一种基于分布式版本控制系统的分支访问装置,包括确定模块、第一创建模块和访问模块;
所述确定模块,用于确定分布式版本控制系统中完整代码文件的若干分支;
所述第一创建模块,用于为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
所述访问模块,用于根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
可选的,所述第一创建模块在用于为指定分支创建第一分支目录时,具体用于,以指定分支的分支名作为目录名,为指定分支创建第一分支目录。
可选的,还包括第二创建模块;
若根据待访问的目标分支,未查找到对应的第一分支目录时,启动第二创建模块;
所述第二创建模块,用于创建第二分支目录,将所述目标分支的代码文件存放到所述第二分支目录中下。
可选的,还包括删除模块,所述删除模块,用于在将所述指定分支的代码文件存储在对应的第一分支目录下后时,和/或,在目标分支的代码文件存放到所述第二分支目录下时,所述删除模块,具体用于将完整的代码文件复制到第一和/或第二分支目录中,在所述完整的代码文件中定位到指定分支,同时删除版本控制文件、以删除指定分支以外的其他分支。
可选的,还包括判别模块、检测模块和存储模块;
所述判别模块,用于判别是否需要对第一分支目录和/或第二分支目录中的代码文件进行更新,若需要更新,则启动所述检测模块;
所述检测模块,用于检测原始的完整代码文件,确定需要更新的分支、并对待更新的分支中的代码文件进行更新;
所述存储模块,用于将更新后的分支中的代码文件存放到与所述分支对应的分支目录下。
可选的,所述存储模块,在用于将更新后的分支中的代码文件存放到与所述分支对应的分支目录下时,具体是用于将更新后的分支中的全部代码文件以增量更新的方式存放到与所述分支对应的分支目录下。
第三方面,本发明实施例提供一种终端,所述终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述中任意一项基于分布式版本控制系统的分支访问方法的步骤。
第四方面,本发明实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述中任一项基于分布式版本控制系统的分支访问方法的步骤。
本发明实施例提供的基于分布式版本控制系统的分支访问方法、装置、终端及存储介质,通过对经常访问的分支进行单独保存,能够随时访问任意分支,不需要分支切换,且分支的访问不会产生冲突,解决了分支切换时执行效率低的问题,提高了开发和测试效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明第一实施例访问方法流程图;
图2为本发明第二实施例访问方法流程图;
图3为本发明第三实施例访问方法流程图;
图4为本发明第四实施例访问方法流程图;
图5为本发明第五实施例访问装置的结构框图;
图6为本发明第六实施例访问装置的结构框图;
图7为本发明第七实施例终端结构框图;
图8为本发明第九实施例访问方法示意图;
图9为本发明第十实施例访问方法示意图;
图10为本发明第十一实施例访问方法示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明第一实施例提供一种基于分布式版本控制系统的分支访问方法,如图1所示,包括以下具体步骤:
步骤S101,确定分布式版本控制系统中完整代码文件的若干分支;
本步骤中完整代码文件包括若干分支文件和版本控制文件,通过版本控制文件控制完整代码文件中各个分支文件的管理、控制,以定位到需要的分支文件。
步骤S102,为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
本步骤中,指定分支可以为经常被访问的分支,也可以为热门分支,具体可以根据实际需要进行确定。在确定经常被访问的分支时,可以通过记录被访问的分支以形成访问记录,再通过查找访问记录依据分支被访问的次数确定经常被调用的分支。
步骤S103,根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
本实施例中,通过将指定分支与第一分支目录对应进行单独保存,再根据第一分支目录查找需要访问的目标分支,实现了能够随时访问任意分支,不需通过版本控制文件对分支进行切换,提高了执行效率。
本发明第二实施例提供一种基于分布式版本控制系统的分支访问方法,结合图2,包括以下具体步骤:
步骤S201,确定分布式版本控制系统中完整代码文件的若干分支;
步骤S202,以指定分支的分支名作为目录名,为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
本步骤中通过将指定的分支名作为目录名可以方便分支的查找,在具体实施过程中只需要在目录中查找相应的分支名即可。
步骤S203,根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
本实施例中通过以分支名为目录名创建第一分支目录,能够方便分支的查找;当然也可以创建分支和第一分支目录的映射表,以使分支名和目录名相对应、以便于分支的查找与访问。
本发明第三实施例提供一种基于分布式版本控制系统的分支访问方法,如图3所示,包括以下具体步骤:
步骤S301,确定分布式版本控制系统中完整代码文件的若干分支;
步骤S302,为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
步骤S303,根据待访问的目标分支,查找对应的第一分支目录,若查找到目标分支则执行步骤S304;若未查找到目标分支则执行步骤S305;
步骤S304,访问第一分支目录中的代码文件;
步骤S305,创建第二分支目录,将所述目标分支的代码文件存放到所述第二分支目录中下。
本实施例中若待访问的分支为极少访问的分支、并未保存在第一分支目录中时,通过创建第二分支目录来实现分支的访问。
本发明实施例在具体实现时,步骤302中在将指定分支的代码文件存储在对应的第一分支目录下之后时,和/或步骤304中,在将目标分支的代码文件存放到所述第二分支目录下时,还具体包括:将完整的代码文件复制到第一和/或第二分支目录中,在所述完整的代码文件中定位到指定分支,同时删除版本控制文件、以删除指定分支以外的其他分支。本实施例中版本控制文件为.git文件。通过切换完整的代码文件到指定分支,然后删除.git文件,即可删除其他分支、只保留需要的分支。本实施例中通过删除版本控制文件即可删除其他不需要的分支文件,能够节省了存储空间。
本发明第四个是实施例提供一种基于分布式版本控制系统的分支访问方法,结合图4,包括以下具体步骤:
步骤S401,确定分布式版本控制系统中完整代码文件的若干分支;
步骤S402,为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
步骤S403,根据待访问的目标分支,查找对应的第一分支目录,若查找到目标分支则执行步骤S404;若未查找到目标分支则执行步骤S405;
步骤S404,访问第一分支目录中的代码文件;
步骤S405,创建第二分支目录,将所述目标分支的代码文件存放到所述第二分支目录中下。
在本实施例中,当需要对第一分支目录和/或第二分支目录中的代码文件进行更新时,本发明实施例中的方法还包括步骤S406:检测原始的完整代码文件,确定需要更新的分支、并对待更新的分支中的代码文件进行更新;
将更新后的分支中的代码文件存放到与所述分支对应的分支目录下。具体在更新过程中可以以增量更新的方式、利用更新后的分支中部分代码文件对存放在与所述分支对应的分支目录中的代码文件的相应部分进行替换或添加。
本发明实施例可以对经常访问的分支进行单独保存,具体可以以分支名为目录名存储在第一分支目录下,再将对应分支的代码文件存放的当前目录下,由于目录名即为分支名,则不再需要版本控制文件去切换目录,因此可以删除版本控制文件,增大了目录下的可用存储空间;在多个任务并行访问时,只需要根据分支名找对应的目录就可以却需要访问的分支,满足了分支的任意访问,不需要分支切换;当多个任务访问同一分支时,也可以同时访问此分支,提高了任务的执行效率。
本发明第五实施例提供一种基于分布式版本控制系统的分支访问装置,如图5所示,包括确定模块11、第一创建模块12和访问模块13;
确定模块11,用于确定分布式版本控制系统中完整代码文件的若干分支;
第一创建模块12,用于为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
访问模块13,用于根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
本发明实施例中,利用设置的确定模块能够确定经常被访问的分支,利用设置的第一创建模块能够创建第一分支目录以对经常访问的分支进行单独保存,利用设置的访问模块能够查找到目标访问分支,实现随时访问任意分支,不需要分支切换,且分支的访问不会产生冲突,解决了分支切换时执行效率低的问题,提高了开发和测试效率。
本发明第六个实施例提供一种基于分布式版本控制系统的分支访问装置,如图6所示,包括确定模块21、第一创建模块22、访问模块23、第二创建模块24、判别模块25、检测模块26和存储模块27;
确定模块21,用于确定分布式版本控制系统中完整代码文件的若干分支;
第一创建模块22,用于为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
访问模块23,用于根据待访问的目标分支,查找对应的第一分支目录,若查找到目标分支,则访问查找到的第一分支目录中的代码文件;若未查找到目标分支则启动第二创建模块;
第二创建模块24,用于创建第二分支目录,将所述目标分支的代码文件存放到所述第二分支目录下;
判别模块25,用于判别是否需要对第一分支目录和/或第二分支目录中的代码文件进行更新,若需要更新,则启动所述检测模块;
检测模块26,用于检测原始的完整代码文件,确定需要更新的分支、并对待更新的分支中的代码文件进行更新;
存储模块27,用于将更新后的分支中的代码文件存放到与所述分支对应的分支目录下。
具体实现时,第一创建模块22在用于为指定分支创建第一分支目录时,具体用于,以指定分支的分支名作为目录名,为指定分支创建第一分支目录。
本实施例中还包括删除模块,删除模块,在所述指定分支的代码文件存储在对应的第一分支目录下时,和/或,在目标分支的代码文件存放到所述第二分支目录下时,具体用于将完整的代码文件复制到第一和/或第二分支目录中,在所述完整的代码文件中定位到指定分支,同时删除版本控制文件、以删除指定分支以外的其他分支,节省的存储空间。
本实施例中,存储模块27在用于将更新后的分支中的代码文件存放到与所述分支对应的分支目录下时,具体是用于以增量更新的方式将更新部分的代码文件添加到与所述分支对应的分支目录下,或者,将更新部分的代码文件替换掉分支目录中原代码文件的相应部分。
本发明第七个实施例提供一种终端,结合图7,所述终端包括:存储器1、处理器2及通信总线3;所述通信总线3用于实现处理器2和存储器1之间的连接通信;
具体的,本发明实施例中,处理器2可以是通用处理器,例如中央处理器(CentralProcessing Unit,CPU),还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(英文:Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,存储器1用于存储所述处理器2的可执行指令;
存储器1,用于存储程序代码,并将该程序代码传输给处理器2。存储器1可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器1也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-OnlyMemory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器1还可以包括上述种类的存储器的组合。
具体的,本发明实施例中,所述处理器用于执行存储器中存储的分支访问程序,所述分支访问程序被所述处理器2执行时实现如下方法步骤:
确定分布式版本控制系统中完整代码文件的若干分支;
为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
上述方法步骤的具体实施例过程可参见第一实施例至第四实施例,本实施例在此不再重复赘述。
本发明第八个实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行实现如下方法步骤:
确定分布式版本控制系统中完整代码文件的若干分支;
为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
上述方法步骤的具体实施例过程可参见第一实施例至第四实施例,本实施例在此不再重复赘述。
本发明第九实施例,本实施例介绍一个本发明的应用实例,结合图8,
对于经常被访问的分支,单独拿出作为单独目录保存,如分别以分支名br1、br2、br3为目录名,创建目录,再将对应分支的代码文件存放到当前目录下;当多任务并行访问时,如图中的任务1、任务2、任务3,如果多个任务对应着同一个分支,可以同时读取同一个分支,每个任务的分支名不同,只需要根据分支名找对应的目录就可以,不需要进行分支切换,解决了分支切换带来的冲突问题,并且也节省了存储空间。本实施例中,由于目录就是分支名,则不再需要.git文件(即前述的版本控制文件)去切换目录,因此可以删除.git文件,因此每个目录下的空间大小基本为原来10%左右,提高了可用存储空间。
本实施例中,在服务器硬件资源充足的情况下,可以支持若干个任务(视硬件情况)并行操作,每个任务可以随意访问任何一个分支,而不会发生git分支切换上产生的问题。如在大型APP开发测试过程中,通过是并行几十个甚至上百个打包任务,绝大部分任务所需要的代码分支就是那2~3个,此时只需要对分支目录进行访问,完全不用git进行分支切换,任意个任务并行访问都没问题,极大提高了开发和测试效率。
本发明第十实施例,介绍一个本发明的应用实例,当任务访问的是一个极少访问的分支,如果这个分支不在常用目录下,通过目录访问不到。这时需要从原来完整的git代码文件中抽取出来,结合图9,具体方案为:
1、获取完整.git的代码文件;
2、将完整的带.git的代码文件复制到任务下的某个目录下(这个目录为自定义目录),如目录temp;
3、在任务temp目录下,切换代码文件的分支到指定分支,如切到br1。
4、temp目录下删除.git文件,此时.git已经不需要用了,以节省存储空间。
5、当前任务访问temp目录即可。
本发明第十一实施例,结合图10,介绍一个本发明的应用实例,本发明实施例中,由于分支目录下是不带.git的文件,因此不能通过git方式进行代码更新。因此利用原来带.git完整的代码文件,通过git方式更新后,再同步到对应分支目录下,进行实时更新,具体如下:
1、通过git检测到代码是否有更新。
2、若需要更新则获取完整带.git的代码文件,
3、切换到更新的分支br1。
4、更新分支br1代码。
5、将更新后的分支br1代码同步到br1/目录中,按增量更新的方式进行,具体可以利用rsync工具。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (14)

1.一种基于分布式版本控制系统的分支访问方法,其特征在于,包括:
确定分布式版本控制系统中完整代码文件的若干分支;
为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
2.如权利要求1所述的方法,其特征在于,所述为指定分支创建第一分支目录具体包括:以指定分支的分支名作为目录名,为指定分支创建第一分支目录。
3.如权利要求1所述的方法,其特征在于,若根据待访问的目标分支,未查找到对应的第一分支目录时,所述方法还包括:创建第二分支目录,将所述目标分支的代码文件存放到所述第二分支目录下。
4.如权利要求1或3所述的方法,其特征在于,在将所述指定分支的代码文件存储在对应的第一分支目录下时,和/或,在将目标分支的代码文件存放到所述第二分支目录下时,具体包括:将完整的代码文件复制到所述第一和/或第二分支目录中,在所述完整的代码文件中定位到指定分支,同时删除版本控制文件、以删除指定分支以外的其他分支。
5.如权利要求3所述的方法,其特征在于,当需要对第一分支目录和/或第二分支目录中的代码文件进行更新时,所述方法还包括:
检测原始的完整代码文件,确定需要更新的分支、并对待更新的分支中的代码文件进行更新;
将更新后的分支中的代码文件存放到与所述分支对应的分支目录下。
6.如权利要求5所述的方法,其特征在于,所述将更新后的分支中的代码文件存放到与所述分支对应的分支目录下,具体包括:
将更新后的分支中的全部代码文件以增量更新的方式存放到与所述分支对应的分支目录下。
7.一种基于分布式版本控制系统的分支访问装置,其特征在于,包括确定模块、第一创建模块和访问模块;
所述确定模块,用于确定分布式版本控制系统中完整代码文件的若干分支;
所述第一创建模块,用于为指定分支创建第一分支目录,并将所述指定分支的代码文件存储在对应的第一分支目录下;
所述访问模块,用于根据待访问的目标分支,查找对应的第一分支目录,并访问查找到的第一分支目录中的代码文件。
8.如权利要求7所述的装置,其特征在于,所述第一创建模块在用于为指定分支创建第一分支目录时,具体用于,以指定分支的分支名作为目录名,为指定分支创建第一分支目录。
9.如权利要求7所述的基于分布式版本控制系统的分支访问装置,其特征在于,还包括第二创建模块;
若根据待访问的目标分支,未查找到对应的第一分支目录时,启动第二创建模块;
所述第二创建模块,用于创建第二分支目录,将所述目标分支的代码文件存放到所述第二分支目录中下。
10.如权利要求7或9所述的基于分布式版本控制系统的分支访问装置,其特征在于,还包括删除模块,所述删除模块,用于在将所述指定分支的代码文件存储在对应的第一分支目录下后时,和/或,在目标分支的代码文件存放到所述第二分支目录下时,将完整的代码文件复制到第一和/或第二分支目录中,在所述完整的代码文件中定位到指定分支,同时删除版本控制文件、以删除指定分支以外的其他分支。
11.如权利要求9所述的基于分布式版本控制系统的分支访问装置,其特征在于,还包括判别模块、检测模块和存储模块;
所述判别模块,用于判别是否需要对第一分支目录和/或第二分支目录中的代码文件进行更新,若需要更新,则启动所述检测模块;
所述检测模块,用于检测原始的完整代码文件,确定需要更新的分支、并对待更新的分支中的代码文件进行更新;
所述存储模块,用于将更新后的分支中的代码文件存放到与所述分支对应的分支目录下。
12.如权利要求7所述的基于分布式版本控制系统的分支访问装置,其特征在于,所述存储模块,在用于将更新后的分支中的代码文件存放到与所述分支对应的分支目录下时,具体是用于将更新后的分支中的全部代码文件以增量更新的方式存放到与所述分支对应的分支目录下。
13.一种终端,其特征在于,所述终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-6中任意一项所述的基于分布式版本控制系统的分支访问方法的步骤。
14.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的基于分布式版本控制系统的分支访问方法的步骤。
CN201810960642.4A 2018-08-22 2018-08-22 基于分布式版本控制系统的分支访问方法和装置 Active CN109271194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810960642.4A CN109271194B (zh) 2018-08-22 2018-08-22 基于分布式版本控制系统的分支访问方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810960642.4A CN109271194B (zh) 2018-08-22 2018-08-22 基于分布式版本控制系统的分支访问方法和装置

Publications (2)

Publication Number Publication Date
CN109271194A true CN109271194A (zh) 2019-01-25
CN109271194B CN109271194B (zh) 2022-07-26

Family

ID=65154226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810960642.4A Active CN109271194B (zh) 2018-08-22 2018-08-22 基于分布式版本控制系统的分支访问方法和装置

Country Status (1)

Country Link
CN (1) CN109271194B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112633856A (zh) * 2020-12-31 2021-04-09 中国农业银行股份有限公司 一种基于工作项的数据处理方法及装置
WO2021248640A1 (zh) * 2020-06-11 2021-12-16 厦门网宿有限公司 一种多版本文件的操作方法、系统及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404519A (zh) * 2015-12-07 2016-03-16 青岛海信电器股份有限公司 一种版本控制方法、代码测试方法及系统
CN105739968A (zh) * 2016-01-20 2016-07-06 北京京东尚科信息技术有限公司 基于分布式版本控制系统Git的更新内容的评审方法和装置
CN105760184A (zh) * 2014-12-18 2016-07-13 深圳云之家网络有限公司 一种加载组件的方法和装置
CN106201784A (zh) * 2016-07-18 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于git的数据备份方法及系统
CN106502746A (zh) * 2016-11-02 2017-03-15 网易(杭州)网络有限公司 应用程序的打包方法及装置
CN107247601A (zh) * 2017-07-04 2017-10-13 武汉斗鱼网络科技有限公司 开发流程优化方法、装置及存储介质
CN107728996A (zh) * 2017-10-11 2018-02-23 郑州云海信息技术有限公司 一种git分支管理方法及装置
CN107992404A (zh) * 2016-10-26 2018-05-04 中兴通讯股份有限公司 一种软件自动测试方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760184A (zh) * 2014-12-18 2016-07-13 深圳云之家网络有限公司 一种加载组件的方法和装置
CN105404519A (zh) * 2015-12-07 2016-03-16 青岛海信电器股份有限公司 一种版本控制方法、代码测试方法及系统
CN105739968A (zh) * 2016-01-20 2016-07-06 北京京东尚科信息技术有限公司 基于分布式版本控制系统Git的更新内容的评审方法和装置
CN106201784A (zh) * 2016-07-18 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于git的数据备份方法及系统
CN107992404A (zh) * 2016-10-26 2018-05-04 中兴通讯股份有限公司 一种软件自动测试方法及装置
CN106502746A (zh) * 2016-11-02 2017-03-15 网易(杭州)网络有限公司 应用程序的打包方法及装置
CN107247601A (zh) * 2017-07-04 2017-10-13 武汉斗鱼网络科技有限公司 开发流程优化方法、装置及存储介质
CN107728996A (zh) * 2017-10-11 2018-02-23 郑州云海信息技术有限公司 一种git分支管理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021248640A1 (zh) * 2020-06-11 2021-12-16 厦门网宿有限公司 一种多版本文件的操作方法、系统及装置
CN112633856A (zh) * 2020-12-31 2021-04-09 中国农业银行股份有限公司 一种基于工作项的数据处理方法及装置

Also Published As

Publication number Publication date
CN109271194B (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
US10055216B2 (en) Minimizing image copying during partition updates
CN102317923B (zh) 存储系统
CN104699423B (zh) Linux系统中绑定盘符的方法和装置
CN103577567A (zh) 一种Android系统卸载应用删除垃圾文件的方法
CN103617097B (zh) 文件恢复方法及装置
CN113568566B (zh) 利用索引物件来进行简易存储服务无缝迁移的方法、主装置以及存储服务器
CN103559139B (zh) 一种数据存储方法及装置
CN109976669B (zh) 一种边缘存储方法、装置和存储介质
US20160357545A1 (en) System and method for downgrading applications
CN112182010B (zh) 脏页刷新方法和装置、存储介质和电子设备
CN103631603A (zh) 软件清理方法和系统
CN111045708A (zh) 软件升级方法、电子设备和计算机可读存储介质
CN109271194A (zh) 基于分布式版本控制系统的分支访问方法和装置
CN105573788B (zh) 补丁处理的方法和设备以及生成补丁的方法和设备
CN109298873A (zh) 一种系统升级方法及装置
EP2669806B1 (en) Storage system
CN110209420A (zh) 一种更新引导加载程序的方法及装置
CN108604201B (zh) 一种快照回滚方法、装置、存储控制器和系统
US20130041868A1 (en) Data synchronization
CN106055372A (zh) 一种卸载应用程序的方法和装置
KR100637787B1 (ko) 파일 정보의 기록 처리 방법 및 프로그램
KR101456104B1 (ko) 비휘발성 메모리를 위한 듀얼 버퍼링 파일 관리 방법, 파일 관리 시스템 및 대용량 저장 장치
CN106528876B (zh) 分布式系统的信息处理方法及分布式信息处理系统
CN109491961B (zh) 一种文件系统快照的方法及快照设备
CN109977092A (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
GR01 Patent grant
GR01 Patent grant