收藏 分销(赏)

软件配置管理内部培训(三库、集成)PPT.ppt

上传人:人****来 文档编号:5570428 上传时间:2024-11-13 格式:PPT 页数:59 大小:773.50KB
下载 相关 举报
软件配置管理内部培训(三库、集成)PPT.ppt_第1页
第1页 / 共59页
软件配置管理内部培训(三库、集成)PPT.ppt_第2页
第2页 / 共59页
软件配置管理内部培训(三库、集成)PPT.ppt_第3页
第3页 / 共59页
软件配置管理内部培训(三库、集成)PPT.ppt_第4页
第4页 / 共59页
软件配置管理内部培训(三库、集成)PPT.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、软件配软件配置管理置管理康子烨康子烨1 v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念2v什么是软件配置管理什么是软件配置管理v软件配置管理的一些比喻软件配置管理的一些比喻v缺乏管理所造成的问题缺乏管理所造成的问题3什么是软件配置管理什么是软件配置管理 一套应用技术上和管理上的指导和监督一套应用技术上和管理上的指导和监督方法,用来:识别和记录配置项的功能特征方法,用来:识别和记录配置项的功能特征和物理特征;控制这些特征的变更;记录和和物理特征;控制这些特征的变更;记录和报告变更的处理和执行的状态;以

2、及验证其报告变更的处理和执行的状态;以及验证其是否特定的需求。是否特定的需求。一个权威定义一个权威定义 (被(被CMM、CMMI引用)引用)4软件配置管理的一些比喻软件配置管理的一些比喻v图书管理图书管理(在一借一还的过程中都需要记录)(在一借一还的过程中都需要记录)v保险柜保险柜(软件资产可能丢失、被窃取和泄露,(软件资产可能丢失、被窃取和泄露,特别是源代码特别是源代码)v岩钉岩钉(适当保存历史版本,(适当保存历史版本,所有的一切软件资产都可以保存所有的一切软件资产都可以保存)5缺乏管理所造成的问题缺乏管理所造成的问题vv软件开发人员之间缺乏必要的交流软件开发人员之间缺乏必要的交流软件开发人

3、员之间缺乏必要的交流软件开发人员之间缺乏必要的交流vv产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱vv开发过程中的人员流动经常发生开发过程中的人员流动经常发生开发过程中的人员流动经常发生开发过程中的人员流动经常发生vv因管理不善致使未经测试的软件加入到产品中因管理不善致使未经测试的软件加入到产品中因管理不善致使未经测试的软件加入到产品中因管理不善致使未经测试的软件加入到产品中vv项目开发状态不清楚项目开发状态不清楚项目开发状态不清楚项目开发状态不清楚vv软件生产达不到规模化软件生

4、产达不到规模化软件生产达不到规模化软件生产达不到规模化6v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念7v基本的版本控制基本的版本控制v基线基线8 版本管理,主要是建立一个公共存储区,记版本管理,主要是建立一个公共存储区,记录版本,防止版本覆盖,防止版本混乱。录版本,防止版本覆盖,防止版本混乱。版本管理是配置管理里重要的一项环节。版本管理是配置管理里重要的一项环节。9v在软件开发中会遇到一些非常棘手的问题,比如,需要将整个软件版本恢复到以前的某一时间的状态;控制某个程序在同一时间只能被一个程序员修改

5、等等。这时就需要使用版本控制软件进行管理了。版本控制软件可以将某一程序恢复到以前的某一时间的状态,甚至将整个软件版本恢复到以前的某一时间的状态。也能够实现某一程序在同一时间只能一个开发人员修改,还可以配制成允许多人修改,最后将不同版本合并为新版本。10基本的版本控制 假设每个程序员负责一个专门模块,不存假设每个程序员负责一个专门模块,不存在两个程序员修改同一处源代码的问题。在两个程序员修改同一处源代码的问题。v在修改程序之前,从哪里拿到最新版本?在修改程序之前,从哪里拿到最新版本?(程序员可能基于过时的程序开始自己的工作)(程序员可能基于过时的程序开始自己的工作)v在修改程序之后,把修改结果提

6、交到那?在修改程序之后,把修改结果提交到那?(程序员的工作可能被湮没)(程序员的工作可能被湮没)11解决之道 将源代码流转的渠道从将源代码流转的渠道从网状结构(图网状结构(图1)改成星)改成星星结构(图星结构(图2),也就是),也就是设立一个公共储区,作为设立一个公共储区,作为参照物和枢纽,大家统一参照物和枢纽,大家统一从这个公共点取代码,的从这个公共点取代码,的轩昂程序改完后,都把自轩昂程序改完后,都把自己改的那部分全部传到公己改的那部分全部传到公共存储区,别人再从那里共存储区,别人再从那里取用。取用。图图1 1图图2 212 假设两个程序员同时修改同一源代码,会出假设两个程序员同时修改同一

7、源代码,会出现程序覆盖问题。(即后提交的代码现程序覆盖问题。(即后提交的代码B B会把先会把先提交的代码提交的代码A A覆盖)覆盖)v监控。监控。阻止同阻止同时修改的事情发时修改的事情发生。生。串行方法串行方法v辅助。辅助。使同时使同时修改的内容合并修改的内容合并到一起。到一起。并行方法并行方法串行方法串行方法并行方法并行方法13v版本控制软件还可以对程序修改进行有效的版本控制软件还可以对程序修改进行有效的管理,将开发环境、测试环境、运行环境进管理,将开发环境、测试环境、运行环境进行有效的隔离。我们还可以在版本控制软件行有效的隔离。我们还可以在版本控制软件中存放软件开发过程中成成的各种文档,以

8、中存放软件开发过程中成成的各种文档,以供随时查阅。供随时查阅。14如何表达版本的质量状态如何表达版本的质量状态v在版本号中,添加状态标记(常用方法)。有两个在版本号中,添加状态标记(常用方法)。有两个弱点:弱点:1.1.在版本库中,标签不一定能重新命名。在版本库中,标签不一定能重新命名。2.2.改变标签名称,以及改变安装包的名称,可能会引改变标签名称,以及改变安装包的名称,可能会引起混乱。起混乱。v版本本身可以自带些属性。当质量状态提升时,不版本本身可以自带些属性。当质量状态提升时,不必改版本名称,只需改版本的质量状态属性。必改版本名称,只需改版本的质量状态属性。v用不同的目录,来区分不同质量

9、状态下源代码的整用不同的目录,来区分不同质量状态下源代码的整体版本或安装包。体版本或安装包。v基线是有质量状态的。当探测到源代码质量状态到基线是有质量状态的。当探测到源代码质量状态到达了更新程度的时候,做一个基线提升。达了更新程度的时候,做一个基线提升。15 基线基线v被明显的标记和记录下来的源代码整体版本。被明显的标记和记录下来的源代码整体版本。(即整体复制)(即整体复制)v在每个文件的特定版本上打标签来完成。在每个文件的特定版本上打标签来完成。基线的权限基线的权限只读只读16v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三

10、库管理的概念三库管理的概念17v什么是系统集成什么是系统集成v系统集成的步骤系统集成的步骤18系统集成系统集成 系统集成,简称集成,是基本的使命就是把系统集成,简称集成,是基本的使命就是把产品的各个部分捏在一起,并保证产品作为产品的各个部分捏在一起,并保证产品作为整体是可以运转的,而不仅是每个模块,每整体是可以运转的,而不仅是每个模块,每个单元能在特定的开发调试环境、特定的数个单元能在特定的开发调试环境、特定的数据和参数下运转。据和参数下运转。19v视角视角1 1:集成的,不是模块,而是工作。每个任务:集成的,不是模块,而是工作。每个任务单元可能在一个模块上修改,也可能涉及多个模块。单元可能在

11、一个模块上修改,也可能涉及多个模块。v视角视角2 2:不再把产品的各个模块合到一起,而是把:不再把产品的各个模块合到一起,而是把产品的改变合到一起,和在已有的版本上,产生新产品的改变合到一起,和在已有的版本上,产生新的版本,所集成的是任何单元,是变更。的版本,所集成的是任何单元,是变更。+=新的整体版本新的整体版本源代码整体版本源代码整体版本多个任务单元多个任务单元集成的含义集成的含义多层集成多层集成20集成的步骤集成的步骤v确保开发人员都提交了相关的源代码。确保开发人员都提交了相关的源代码。v冻结或者标识将要集成的源代码。冻结或者标识将要集成的源代码。(比如:禁止开发人员向版本库的提交)(比

12、如:禁止开发人员向版本库的提交)v取出要集成的源代码。取出要集成的源代码。(最好放在一个全新的工作空间)最好放在一个全新的工作空间)v编译、链接和打安装包。编译、链接和打安装包。(通常称为构建)(通常称为构建)v安装并粗略测试。安装并粗略测试。v表示和储备集成成果。表示和储备集成成果。(集成结果有两个:(集成结果有两个:1.1.源代码的整体版本源代码的整体版本 2.2.生成安装包)生成安装包)v通知相关人员本次集成完成。通知相关人员本次集成完成。(还应告知集成成员的名称和存储内容)还应告知集成成员的名称和存储内容)如有问题,修改了源代码,如有问题,修改了源代码,就从头再来。就从头再来。21v软

13、件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念22v什么是构建管理什么是构建管理v构建管理分为两部分构建管理分为两部分v保证构建的可重复性保证构建的可重复性v如何让构建更快如何让构建更快v安装包有没有必要保存安装包有没有必要保存v安装包如何保存安装包如何保存23构建管理构建管理v构建:从源代码生产出安装包的过程。构建:从源代码生产出安装包的过程。v一般包括:编译源代码;链接编译结果;产一般包括:编译源代码;链接编译结果;产生可以运行的程序;把所有对客户有用的东生可以运行的程序;把所有对客户有用的东西都打

14、包。西都打包。v构建的输入,是产品的全部源文件,可能还构建的输入,是产品的全部源文件,可能还有文档、数据等。有文档、数据等。v构建的输出,通常是安装包。构建的输出,通常是安装包。24v是从每一个源文件的编是从每一个源文件的编译开始,不借助于以往译开始,不借助于以往构建中留下的已有的或构建中留下的已有的或许可以重复使用的结果。许可以重复使用的结果。(通常系统集成,集成工程师所(通常系统集成,集成工程师所做的构建是全量构建做的构建是全量构建)v是尽可能的利用上次构是尽可能的利用上次构建的成果。建的成果。(这是一个省时间偷懒的方法)(这是一个省时间偷懒的方法)构建分为构建分为全量构建全量构建增量构建

15、增量构建正确、准确正确、准确快速快速25保证构建的可重复性保证构建的可重复性v原材料是固定明确的原材料是固定明确的v工具是固定明确的工具是固定明确的v参数设置是固定明确的参数设置是固定明确的v生产过程是固定明确的生产过程是固定明确的 (或是尽可能的文档化构建过程)(或是尽可能的文档化构建过程)如何让构建更快如何让构建更快v自动化自动化v提高硬件性能提高硬件性能v提高专一性提高专一性(尽量减少在同尽量减少在同一台服务器上同时运行的构建任务单一台服务器上同时运行的构建任务单元的数量)元的数量)v把构建任务分解,并行把构建任务分解,并行完成完成(要实现分布式构建,其软(要实现分布式构建,其软件实现难

16、度则大了很多,可能需要一件实现难度则大了很多,可能需要一些高端软件的支持)些高端软件的支持)26安装包有没有必要保存?安装包有没有必要保存?v通常是必要的,因为这样可以在需要它的时通常是必要的,因为这样可以在需要它的时候能够迅速准确的得到这个安装包。候能够迅速准确的得到这个安装包。v如果将它删除,在将来需要它的时候,还要如果将它删除,在将来需要它的时候,还要找历史上的源代码,现从源代码开始编译、找历史上的源代码,现从源代码开始编译、打包,那么会耗费时间。打包,那么会耗费时间。27安装包如何保存?安装包如何保存?v放进版本库不是明智之举。对于安装包,很放进版本库不是明智之举。对于安装包,很多历史

17、版本,比如送去测试用的安装包,需多历史版本,比如送去测试用的安装包,需要定期清理,否则会占用大量的磁盘空间。要定期清理,否则会占用大量的磁盘空间。安装包可以保存在共享目录下,该目录可以安装包可以保存在共享目录下,该目录可以在局域网共享,除此之外,还要考虑适当的在局域网共享,除此之外,还要考虑适当的备份。备份。28v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念29v什么是分支什么是分支v分支与工作空间的对比分支与工作空间的对比v流流v集中精力于主线的演进集中精力于主线的演进v分支管理要注意的事项分支管

18、理要注意的事项30分支分支v主线又被称为主干,是一种特殊的分支。主线又被称为主干,是一种特殊的分支。v合并是某种复制行为,不是复制版本本身,而是复合并是某种复制行为,不是复制版本本身,而是复制版本之间的差异。合并不会影响原分支的。制版本之间的差异。合并不会影响原分支的。31分支与工作空间的对比分支与工作空间的对比v分支可同时容纳多个已提交的任务单元,并以此和其他分分支可同时容纳多个已提交的任务单元,并以此和其他分之区别。之区别。v分支存储在服务器上比工作空间存储在本地安全。分支存储在服务器上比工作空间存储在本地安全。v分支是所有人都能看到,若有必要,所有人都能在上边工分支是所有人都能看到,若有

19、必要,所有人都能在上边工作;工作空间是单个开发人员自己的地盘作;工作空间是单个开发人员自己的地盘 ,只有自己才能,只有自己才能在上面工作。在上面工作。v分支不能改变其起始点,工作空间可以改变分支不能改变其起始点,工作空间可以改变弱弱 势:势:优势:优势:32兼具分支和工作空间的优势兼具分支和工作空间的优势流流流的三种含义流的三种含义v流是起始点可改变的产品级的流是起始点可改变的产品级的“分支分支”。v流的起始点可以设置为产品的某个整体版本。流的起始点可以设置为产品的某个整体版本。v流可以设置为另外的某个流的末端。流可以设置为另外的某个流的末端。33v分支不能长期存在,把分支缩短,在每一次分支不

20、能长期存在,把分支缩短,在每一次组内集成,就合并到主线,并关闭该分支,组内集成,就合并到主线,并关闭该分支,重新建立新的分支,来吸收下一次组内集成重新建立新的分支,来吸收下一次组内集成的内容。的内容。v主线始终是开发的主流。主线始终是开发的主流。34A主线主线B长期隔离导致集成困难长期隔离导致集成困难主线主线A3B3A1B1B2A2短分支经常集成短分支经常集成35 为特定用户,进行单独立项,进行特定开发的解决方法。v改变版本结构,要集中精力在主线演进,改变版本结构,要集中精力在主线演进,集中精力开发一个产品,从主线出发,有集中精力开发一个产品,从主线出发,有每个分支上,主要关注用户的特殊需求。

21、每个分支上,主要关注用户的特殊需求。36主线主线鲢鲢鲈鲈鲑鲑魭魭鲤鲤鳗鳗鲂鲂鲐鲐鲟鲟鲫鲫鳝鳝鲆鲆1.0版3.0版2.0版主线产鱼法主线产鱼法鱼的裂变鱼的裂变魭魭鲐鲐鲂鲂鲆鲆鳝鳝鳗鳗鲫鲫鲤鲤鲟鲟鲑鲑鲈鲈鲢鲢37分支管理要注意的事项分支管理要注意的事项v每条分支的目的和用途,必须明确,并且分每条分支的目的和用途,必须明确,并且分支要有合适的名字。支要有合适的名字。v分支要规划确定相关角色和权限,要注意全分支要规划确定相关角色和权限,要注意全盘考虑,看版本树的整体图景。盘考虑,看版本树的整体图景。38v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分

22、支v变体变体v三库管理的概念三库管理的概念39v什么是变体什么是变体v产生变体的原因产生变体的原因v用分支支持变体用分支支持变体v支持分支的多种方法支持分支的多种方法 (组件复用)(组件复用)v避免变体的方法避免变体的方法v减少变体的成本减少变体的成本40变体 变体是指一些软件产品,他们彼此有些相变体是指一些软件产品,他们彼此有些相同之处,但彼此有有所区别。同之处,但彼此有有所区别。产生变体的原因:产生变体的原因:v因支持不同操作系统而产生的变体。因支持不同操作系统而产生的变体。v因客户制定而成的变体。因客户制定而成的变体。v因不同的功能集而产生变体。因不同的功能集而产生变体。41用分支支持变

23、体用分支支持变体v假定,基于标准版假定,基于标准版1.01.0版,开发版,开发1.01.0A A版。这是为客户版。这是为客户A A专门制专门制定的一个版本,里边增加了了一定的一个版本,里边增加了了一个只有客户个只有客户A A才需要的功能:点才需要的功能:点石成金。石成金。v假定,在推出标准版假定,在推出标准版2.02.0版后,客版后,客户户A A请求将请求将1.01.0A A版升级到版升级到2.02.0A A版。既保留点石成金功能的同时,版。既保留点石成金功能的同时,去掉去掉1.01.0版里发现的缺陷,添上版里发现的缺陷,添上2.02.0标准版里新增加的功能。这时候怎标准版里新增加的功能。这时

24、候怎么处理?么处理?主线主线1.0A1.0版1.0A版变体(简单情况)变体(简单情况)42用分支支持变体用分支支持变体v把主线上所有的修改都复把主线上所有的修改都复制到分支上,集成测试,制到分支上,集成测试,并作适当调整,确保不影并作适当调整,确保不影响分支上的特殊功能。响分支上的特殊功能。弱势弱势:v可能引入的代码修改太多,可能引入的代码修改太多,很难做到这一点。很难做到这一点。主线主线A1.0版2.0版1.0A版2.0A版提升变体版本(方法提升变体版本(方法 一)一)43用分支支持变体用分支支持变体v不把主线上的内容合并到分支不把主线上的内容合并到分支上,而是创建新的分支,把原上,而是创建

25、新的分支,把原有分支上的内容复制过来。有分支上的内容复制过来。(对于分支合并引入的代码修(对于分支合并引入的代码修改进行浏览和审查就会容易得改进行浏览和审查就会容易得多。)多。)弱势:弱势:v如果需要频繁的拿到标准版最如果需要频繁的拿到标准版最新版本里的内容,那么需要建新版本里的内容,那么需要建很多分支。很多分支。v如果变体与标准版的差距较大,如果变体与标准版的差距较大,对应的源代码修改也很大。对应的源代码修改也很大。主线主线1.0版2.0版提升变体版本(方法提升变体版本(方法 二)二)1.0A1.0A版2.0A2.0A版44支持分支的多种方法 完全独立开发完全独立开发v可以有效的保证遍体之间

26、的隔离,但是无法可以有效的保证遍体之间的隔离,但是无法支持变体之间的共享。支持变体之间的共享。常用的改进方法:常用的改进方法:v从某一点开始,独立出来,从此分道扬镳。在这一从某一点开始,独立出来,从此分道扬镳。在这一点之前,所积累的软件资产,就变成变体之间共享点之前,所积累的软件资产,就变成变体之间共享了。但随后的改动,只能通过手工的方法,在不同了。但随后的改动,只能通过手工的方法,在不同的变体或变体与主流间传播。的变体或变体与主流间传播。45支持分支的多种方法 使用分支使用分支v能有效的实现隔离,也实现共享。能有效的实现隔离,也实现共享。弱势:弱势:v分支是有管理成本的。如果变体所在的分支分

27、支是有管理成本的。如果变体所在的分支上,包含了一些应该共享的改动,那么应合上,包含了一些应该共享的改动,那么应合并到主干上。这样的话,相应管理成本也会并到主干上。这样的话,相应管理成本也会提高。提高。46支持分支的多种方法 使用文件属性使用文件属性v在一定程度上实现了隔离,但并不完全。在在一定程度上实现了隔离,但并不完全。在降低共享的成本同时,削弱了隔离。降低共享的成本同时,削弱了隔离。v共享又不总是能够自动传播。需要手动修改共享又不总是能够自动传播。需要手动修改其他变体的相关文件,才能实现这个功能改其他变体的相关文件,才能实现这个功能改动。动。47支持分支的多种方法 使用不同的使用不同的Ma

28、kefileMakefilev与使用文件属性一样,在一定程度上实现隔与使用文件属性一样,在一定程度上实现隔离,共享又不总是能够自动传播。离,共享又不总是能够自动传播。v比使用文件属性好的地方是,比使用文件属性好的地方是,程序员能够同程序员能够同时看到不同变体所需的源文件。时看到不同变体所需的源文件。(要注意对(要注意对MakefileMakefile本身的维护)本身的维护)48支持分支的多种方法 使用宏定义使用宏定义v宏和宏和MakefileMakefile的方法差不多,都是有选择的的方法差不多,都是有选择的选择源代码进行编译,不同的是:选择源代码进行编译,不同的是:MakefileMakef

29、ile只能区分到文件夹;宏可以区分到源文件。只能区分到文件夹;宏可以区分到源文件。弱点:弱点:v宏是写在源代码里,遍体多的话,结构就会宏是写在源代码里,遍体多的话,结构就会复杂,难以维护。复杂,难以维护。v并非所有编程语言都支持宏。并非所有编程语言都支持宏。49支持分支的多种方法 组件复用组件复用v把系统分解为组件,系统由不同的组件构成,把系统分解为组件,系统由不同的组件构成,每个组件,可能多次参与不同系统的构成。每个组件,可能多次参与不同系统的构成。v组件有三种:源代码组件、运行组件、库组件。组件有三种:源代码组件、运行组件、库组件。50组件复用组件复用 引用组件复用后,软件配置管理还要额外

30、关引用组件复用后,软件配置管理还要额外关注的事情。注的事情。v加强对公共组件的变更管理。加强对公共组件的变更管理。v为公共组件的开发提供环境支持。为公共组件的开发提供环境支持。v共享多个系统中对公共组件的修改。共享多个系统中对公共组件的修改。v应对多个系统的系统总体集成中的问题。应对多个系统的系统总体集成中的问题。51避免变体的方法v聪明的拒接个别客户提出的要求。聪明的拒接个别客户提出的要求。v在标准版本里,实现客户的要求。在标准版本里,实现客户的要求。v安装软件时,特定用户只安装特定的组件。安装软件时,特定用户只安装特定的组件。v通过软件运行时的配置、设置,实现不同外通过软件运行时的配置、设

31、置,实现不同外观和功能等。观和功能等。52减少变体的成本减少变体的成本v对变体仅提供有限的支持服务,特别是支持对变体仅提供有限的支持服务,特别是支持服务。服务。v减少变体与标准版本之间的差异。减少变体与标准版本之间的差异。53v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念54v开发库开发库v受控库受控库v静态库静态库55开发库管理的概念开发库管理的概念v开发库可以大致反映为开发工程师的个人工开发库可以大致反映为开发工程师的个人工作空间,在开发工程师本机上,个人目录下。作空间,在开发工程师本机上,个人

32、目录下。当然,对于稍大的任务,也可以映射为存储当然,对于稍大的任务,也可以映射为存储库里的一个任务分支。库里的一个任务分支。56受控库管理的概念受控库管理的概念v受控库则是开发工程师相互协作、交流最新受控库则是开发工程师相互协作、交流最新工作成果的地方。大致上,可以映射为版本工作成果的地方。大致上,可以映射为版本控制工具的存储库。这里,可能有不同的分控制工具的存储库。这里,可能有不同的分支支/目录做不同的用途,可能会打标签、基线。目录做不同的用途,可能会打标签、基线。57静态库管理的概念静态库管理的概念v静态库,有称基线库,是指那些重要的基线,静态库,有称基线库,是指那些重要的基线,这些基线标志着项目的重要里程碑,或者这这些基线标志着项目的重要里程碑,或者这些基线被发布给了些基线被发布给了“外界外界”。在比较简单的。在比较简单的版本控制工具里,一般可以用特定标签命名版本控制工具里,一般可以用特定标签命名规范来把它们从其他标签、基线中区别出来;规范来把它们从其他标签、基线中区别出来;而在比较复杂的版本控制工具里,也可以用而在比较复杂的版本控制工具里,也可以用基线基线/标签的质量级别来表达。标签的质量级别来表达。5859

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服