具体描述
《未雨绸缪:理解软件配置管理(第2版)》分为两部分,第一部分详细介绍了软件配置管理的基本知识;第二部分主要讲述了软件配置管理的一些实际问题。《未雨绸缪:理解软件配置管理(第2版)》的目标是让读者用很短的时间就能掌握软件配置管理的基础知识,在参与软件开发时,具备软件配置管理方面的基本素养。
作者简介
董越,网名流水先生,男,1977年生,他目前的公开身份是索尼公司的CM Architect(配置管理架构师)。而他的秘密身份是咨询师,年复一年,飞来飞去,向众多企业提供软件配置管理方面的培训和咨询服务。他毕业于清华大学,拥有一个硕士学位和两个学士学位。他曾工作于西门子、摩托罗拉和雅虎等公司,一直专注于软件配置管理。他发表文章,撰写书籍;曾领导Flooda、EasyCM等多个开源软件项目;经常在各种会议、沙龙等场合讲演。
(个人网站:http://www.dongyue.name, 电子邮箱:me@dongyue.name)
目录信息
上篇 基本话题 1
第1章 恼人不休的问题:什么是软件配置管理 2
1.1 问题的引出 3
1.2 有那么一类管理 4
1.3 为什么称做配置管理 6
1.4 其他一些比喻 8
第2章 基本的版本控制:记录历史并防止混乱 10
2.1 即使只有一个开发人员 11
2.2 建立公共存储区 12
2.3 防止版本覆盖 15
2.4 行话 18
第3章 当代版本控制方法 21
3.1 变更集的概念 22
3.2 以变更集为单位修改代码并提交 24
3.3 反方向:适时更新工作区 27
3.4 源代码的整体版本 29
3.5 分布式版本控制 32
第4章 集成:关注整体质量 35
4.1 集成的概念 36
4.2 保证提交的质量 38
4.3 狭义集成的步骤 40
4.4 在基线产生之后 44
4.5 质量保证:集成前、集成中、集成后 45
第5章 从源代码到运行中的程序 49
5.1 管理生成转换过程和相关资产 50
5.2 保证构建的可重复性 51
5.3 全量构建和增量构建 53
5.4 让构建更快 55
5.5 安装包的版本控制 57
5.6 管理测试运行环境 60
第6章 迈向持续集成 62
6.1 及早和经常地集成,持续集成 63
6.2 化繁为简 65
6.3 全程自动化 67
6.4 快!快!快! 69
6.5 多层集成:当团队规模扩大以后 70
第7章 分支:减少等待,分头工作 74
7.1 文件级分支 75
7.2 产品级分支 76
7.3 典型应用:实现多层集成 79
7.4 温故而知新:实现隔离与共享 80
7.5 分支的其他典型应用 82
7.6 公共版本库中的分支 84
7.7 私有版本库中的分支 85
第8章 管理文档 88
8.1 文档的标识和存储 89
8.2 自带的说明信息 91
8.3 趋势:Wiki 93
8.4 趋势:数据文件和数据库 95
第9章 跟踪缺陷,直到消灭 98
9.1 别让发现的缺陷跑掉 99
9.2 状态转换图 100
9.3 准确记录,便于修复 104
9.4 消灭它?立刻消灭它? 106
9.5 分析统计缺陷相关数据 109
9.6 关联缺陷记录与变更集 112
第10章 管理变更 114
10.1 管理增强 115
10.2 管理特性 116
10.3 瀑布模型中的变更 118
10.4 影响变更管理的因素 121
10.5 控制产品版本间的差异 123
10.6 表达产品版本间的差异 125
第11章 玄妙的学院派 127
11.1 配置识别 128
11.2 配置控制 130
11.3 配置状态报告 131
11.4 配置审计 133
11.5 一些软件研发模型中的配置管理 135
下篇 复杂场景中的配置管理 139
第12章 用分支实现交迭 140
12.1 补丁版本 141
12.2 复用另一条分支上的改动 142
12.3 甚至早在1.0版发布之前 145
12.4 甚至为了重要的内部版本 147
12.5 甚至为了每次集成 149
12.6 双分支结构 151
12.7 都是交迭 153
第13章 用分支实现变体 156
13.1 什么是变体 157
13.2 用分支支持变体 158
13.3 随主干继续演进 160
13.4 把公共改动放到主干上 163
13.5 变更管理对交迭和变体的支持 165
13.6 历史版本与变体版本的命名 166
第14章 用设置实现变体 169
14.1 在构建时读取设置信息 170
14.2 安装和运行时读取设置信息 171
14.3 资源与数据 172
14.4 何时使用哪种方法 173
14.5 设置对交迭的支持 174
第15章 用组件的组合实现变体 175
15.1 雏形:平台加应用 176
15.2 在不同阶段组装 177
15.3 复合基线 180
15.4 复合分支 183
15.5 实现软件复用:分支、设置、组件相结合 187
15.6 实现软件复用:架构、过程和组织 188
第16章 支持多地点开发 192
16.1 何时出现多地点开发 193
16.2 主要困难和解决方法 194
16.3 离线工作模式 195
16.4 远程访问模式 197
16.5 当地版本库模式 199
16.6 只读模式 201
16.7 多地点开发中的变更管理 202
第17章 支持跨组织合作 204
17.1 从开源到外包 205
17.2 管理第三方资产 206
17.3 本地记录第三方源代码的演进 207
17.4 再加上本地的改造 209
17.5 共同开发 211
第18章 管理软件部署 213
18.1 安装包的存储和管理 214
18.2 管理安装过程 216
18.3 记录运行系统配置 218
18.4 管理变更请求 219
18.5 管理网站 220
第19章 软件配置管理实施 223
19.1 不同阶段,不同挑战 224
19.2 如何完成一项改进 225
19.3 在一个项目的生命周期中 227
19.4 平衡集权与自治 231
19.5 管理众多的项目 234
19.6 软件配置管理团队的组织结构 235
结语 提倡务实的精神 238
附录A 相关工具索引 241
参考书目 251
在线资源 252
书网互动 254
· · · · · · (收起)
读后感
用户评价
拿到《未雨绸缪》这本书,我脑子里第一个闪过的念头就是:终于有一本书,说到了我一直想说,但又说不清楚的事情。我不是那种每天都在计划未来、制定宏伟目标的人,但我确实会为生活中一些可能出现的“小意外”而感到担忧。这本书,恰恰填补了我在这方面的认知空白。它没有教你如何去“算命”,如何去“预知”未来,而是在强调一种“准备”的态度,一种对生活中各种不确定性的主动应对。我读这本书的时候,会经常联想到自己的一些经历。比如,我的车子曾经因为一个小零件老化,在半路上抛锚,当时真的是举步维艰。如果我平时多关注一下车辆的保养,定期进行检查,可能就不会有那么大的麻烦。这本书,让我意识到,“未雨绸缪”并非是杞人忧天,而是一种对生活负责任的表现,是一种能让自己更加从容、更加安心的生活方式。它也不是那种让你整天活在恐惧中的书,而是在教会你如何用一种积极、平和的心态去面对可能出现的风险。它的文字风格也非常吸引人,不讲空洞的大道理,而是通过一些生动形象的例子,让你深入浅出地理解其中的含义。我尤其欣赏它在叙述中的那种淡定和从容,没有一丝的惊慌失措,仿佛在告诉你,一切都在掌控之中。
《未雨绸缪》这本书,我一拿到手,名字就吸引了我。我一直是个喜欢思考的人,但有时候,现实就像一匹脱缰的野马,让你措手不及。这本书,仿佛就为我提供了一种看待生活的新视角。它不是那种教你如何“预测未来”的神秘主义书籍,也不是那种让你“一夜暴富”的成功学。它更像是一种生活哲学,一种在事情发生之前就做好准备的智慧。我读这本书的时候,脑海里会不断闪过很多生活中的片段。比如,一次旅行,因为没有提前预订好交通工具,导致行程延误,浪费了很多宝贵的时间。如果当时我能像书里所说的那样,提前做好一些规划和准备,可能就不会有那么多的麻烦。这本书,让我深刻地体会到,“未雨绸缪”并不仅仅是为了避免灾难,更是为了让我们的生活更加顺畅,更加有品质。它让我明白,很多时候,我们所谓的“运气不好”,其实是缺乏必要的准备。它的叙述方式也很独特,不枯燥,不乏味,就好像一位经验丰富的人生导师,在娓娓道来自己的感悟,让你在阅读中,能够自然地吸收其中的智慧。我喜欢这种不带有压迫感的引导,它不会强迫你做什么,而是让你自己去思考,去体会,从而主动地去改变。这种潜移默化的影响,比那些生硬的说教更能触动人心。
《未雨绸缪》这本书,我刚拿到手,就觉得这个名字非常贴切。我一直觉得,生活就像一场马拉松,你不能只顾着眼前,而要为后面的冲刺积蓄力量。这本书,正好为我提供了一种审视生活的方式。它不是那种告诉你“今天不做,明天就会后悔”的警示录,也不是那种让你“一步登天”的成功指南。它更像是一种关于“预备”的生活理念,一种让我们在面对生活中的各种可能性时,能够更加从容和有底气。我读这本书的时候,会不自觉地联想到自己生活中的一些经历。比如,一次因为信息滞后,错失了一个很好的学习机会,当时真的是感到非常遗憾。如果我平时就多关注一些行业动态,或者与相关人士保持联系,可能就不会有这样的错过。这本书,让我看到了,“未雨绸缪”的价值,不仅仅在于避免风险,更在于抓住机遇。它的文字风格也很有特色,不空洞,不浮夸,就好像一位亲切的导师,在用生动的语言,为你讲解生活中的道理,让你在不知不觉中,就领悟到其中的深意。我喜欢这种娓娓道来的感觉,它让我觉得,这是一种真正能够指导我生活的智慧,而不是一时的鸡汤。
拿到《未雨绸缪》这本书,我其实是带着点儿“试试看”的心态。毕竟,生活这东西,有时候就像一团乱麻,你以为你规划得再好,总会有意想不到的岔路口出现。我平常接触的书籍,要么是讲故事的,要么是讲道理的,要么就是那种一看就让人“雄心勃勃”的成功学。但这本书,给我的感觉完全不一样。它不是那种“明天你就能飞黄腾达”的书,也不是那种“世界末日就要来了”的书。它更多的是在探讨一种“可能性”,一种对生活中那些“如果……会怎样?”的思考。读完之后,我最大的感受就是,原来生活中的很多小事,如果换个角度,换个时间点去处理,结果会大不一样。就好像,你出门前习惯性地看一眼天气,然后带把伞,就算突然下雨,你也不会狼狈不堪。这种“未雨绸缪”,听起来简单,但真的做起来,却需要一种长期的意识和习惯。我曾经很佩服那些能把生活打理得井井有条的人,他们好像总能提前预见到一些问题,并且早早地做好准备。这本书,就好像给我揭示了他们背后的“秘密武器”,不是什么高深莫测的技巧,而是一种对生活细致入微的观察和前瞻性的思考。而且,它的文字风格也很有特点,不枯燥,不空洞,就好像一位经验丰富的老人,在娓娓道来自己的生活哲学,让你在不知不觉中,就对很多事情有了新的认识。它没有强迫你去做什么,更多的是让你去反思,去感受,去体会。这种潜移默化的影响,反而比那些直接灌输的道理来得更深刻。
我是一个对生活细节比较敏感的人,也经常会因为一些突发状况而感到烦恼。《未雨绸缪》这本书,正好契合了我内心深处的一些思考。它不是那种告诉你“你必须怎样做才能成功”的励志读物,也不是那种“世界末日即将来临”的危言耸听。它更多的是在探讨一种“未雨绸缪”的生活智慧,一种在事情发生之前就做好准备的必要性。我读这本书的时候,会不停地联想到生活中的各种例子。比如,我曾经因为一场突如其来的大雨,导致重要的文件受损,当时真的是焦头烂额。如果当时我能预想到这种可能性,提前将文件备份好,或者使用防水袋,那么就不会有那么大的损失。这本书,让我意识到,很多时候,我们所说的“运气不好”,其实并非如此,很多时候,是我们缺乏足够的预见性和准备。它不是教你如何去预测未来,而是教你如何去应对不确定性,如何在风险来临之前,为自己筑起一道屏障。我尤其喜欢它在文字风格上的那种从容和淡定,没有丝毫的夸张和做作,就像一位智者在分享自己的人生经验,让你在轻松愉悦的阅读中,慢慢领悟其中的道理。这种“润物细无声”的引导方式,对我来说,比那些大张旗鼓的宣传来得更有力量。它让我看到了,“未雨绸缪”并非是一件多么困难的事情,而是一种可以融入日常生活的习惯,一种能让生活更加从容和安心的智慧。
这本书,我拿到的时候,说实话,名字就挺吸引我的。《未雨绸缪》。嗯,很有意思。作为一个普通读者,我平日里也算是个思考比较多的人,但很多时候,生活就像一场突如其来的暴风雨,让你措手不及。这本书的名字,仿佛就点出了一个核心的道理,就是我们应该在事情发生之前就做好准备。读这本书,不是为了那些耸人听闻的灾难预警,也不是为了那些遥不可及的未来规划,更不是什么“成功学”的大道理。我更觉得,它是一种生活态度,一种对生活负责任的姿态。我一直在想,我们很多时候的焦虑,是不是就源于“无备”?比如,工作中一个突发的项目,让你加班加点,疲惫不堪,如果是之前稍微预想过一些潜在的可能性,是不是就能从容应对,而不是被动挨打?再比如,生活中偶尔出现的小病小痛,如果平时就注意养生,储备一些基本的医药知识,是不是就能少受很多罪?我喜欢它这种润物细无声的引导,不是强迫你去改变,而是通过一个个细致入微的例子,让你自己去体会,去感悟。它不是教你如何“未雨绸缪”去发大财,去实现什么宏伟目标,而是让你在平凡的生活中,找到一份安宁,一份掌控感。很多时候,我们所谓的“计划”,过于宏大,过于遥远,反而显得不真实,容易放弃。这本书的“未雨绸缪”,更像是对生活点滴的关照,是对潜在风险的日常性思考,是一种低成本、高回报的自我保护。我尤其欣赏它在叙述中的那种平和与淡定,没有一点说教的成分,更像是和一位老朋友在分享人生感悟,让你在轻松的阅读中,慢慢渗透,慢慢消化。这种感觉,是在很多“干货”书籍中难以找到的。
拿到《未雨绸缪》这本书,我是带着一种好奇和期待。我一直觉得,生活就像一场旅程,我们不能总是等到目的地到了,才发现自己没有带足够的干粮。这本书的名字,恰好点出了我一直以来对生活的一种思考方式。它不是那种让你看完后立刻就能“飞黄腾达”的书,也不是那种让你整天活在焦虑中的书。它更像是一种生活态度的引导,一种让我们在面对生活中各种未知和不确定性时,能够更加从容和有准备。我读这本书的时候,会不断地回想起自己生活中经历过的一些事情。比如,有一次,我的电脑突然坏了,里面有很多重要的工作资料,当时真是急得团团转。如果我平时就有定期备份的习惯,或者提前采取一些预防措施,那么就不会有那么大的损失。这本书,让我明白,“未雨绸缪”不仅仅是一种口号,更是一种实践,一种对生活负责任的态度。它让我意识到,很多时候,我们所谓的“麻烦”和“损失”,是可以被提前规避的。它的文字风格也很有特点,不生硬,不说教,就好像一位经验丰富的朋友,在分享自己的人生智慧,让你在不知不觉中,就对很多事情有了新的认识。这种感觉,是在很多“技巧性”的书籍中难以找到的。它让我看到,“未雨绸缪”并非是一件多么复杂的事情,而是一种可以融入到我们日常生活的习惯,一种能让我们生活更加安心和有掌控感的方式。
拿到《未雨绸缪》这本书,我的第一感觉就是,这个名字本身就包含了一种力量。我一直觉得,生活就像大海,充满了未知和变数,我们不能总是等到风浪打过来,才开始想办法。这本书,恰恰就是给了我一种应对这种不确定性的思路。它不是那种教你“如何预言未来”的玄乎的书,也不是那种让你“坐享其成”的书。它更像是一种关于“提前准备”的生活哲学,一种让我们在面对生活中的各种挑战时,能够更加从容和有信心。我读这本书的时候,脑海里会不断地浮现出很多生活中的场景。比如,有一次,我因为没有提前了解目的地的风俗习惯,在当地闹了一些笑话,也给自己带来了不必要的麻烦。如果当时我能像书里所说的那样,提前做一些功课,可能会避免很多尴尬。这本书,让我认识到,“未雨绸缪”是一种智慧,也是一种美德,它能让我们的生活少走弯路,多一份安宁。它的叙述方式也非常吸引我,不枯燥,不乏味,就好像在听一位经验丰富的老友在聊天,让你在轻松的氛围中,就吸收了其中的精华。我喜欢这种不强迫、不推销的风格,它让我觉得,这是一种真正能够融入我生活的智慧。
《未雨绸缪》这本书,对我来说,不仅仅是一本读物,更像是一种生活哲学指南。我一直觉得,人生的很多无奈,很多遗憾,都源于我们习惯于“船到桥头自然直”。这句话听起来很洒脱,但现实却是,很多时候,桥根本没有到,或者桥已经塌了。这本书,就是在我心中敲响了一记警钟,让我开始重新审视我的生活方式。它没有教你如何去“算计”未来,如何去“预知”一切,而是在强调一种“预备”的姿态。这种预备,不是让我们整天活在恐惧和担忧中,而是让我们以一种更积极、更主动的态度去面对生活中各种可能性的出现。我读这本书的时候,脑海里会浮现出很多生活中的场景:比如,工作上的一个项目,在初期阶段,如果能预想到可能出现的几个难点,并且提前做好一些应对方案,那么当问题真正出现时,就不会手忙脚乱,甚至能化危机为转机。再比如,个人健康方面,与其等到疾病缠身,痛苦不堪再去治疗,不如平时就注意饮食,适度运动,为自己的身体打下坚实的基础。这本书的价值,就在于它能激发你内心深处的思考,让你主动去审视自己的生活,去发现那些容易被忽略的“盲点”。它的叙述方式也很特别,不给人一种教训的感觉,更像是一种分享,一种引导。让你在阅读的过程中,能够将书中的道理,自然地融入到自己的生活轨迹中,潜移默化地改变自己的行为习惯。
《未雨绸缪》这本书,我拿到的时候,感觉名字就已经传达了一种很深刻的意味。我一直觉得,生活就像一场棋局,有时候你不能只顾着眼前的这一步,而要考虑后续的几步,甚至更多。这本书,恰好就是给我提供了这样的一个思考框架。它不是那种让你立马就能找到“秘籍”从而走向人生巅峰的书,也不是那种让你整天担惊受怕的书。它更像是一种生活智慧的启迪,一种让我们在生活中,能够有意识地去“预见”和“准备”。我读这本书的时候,会不断地回想起自己生活中经历过的很多“如果……就好了”的时刻。比如,一次因为突发的疾病,耽误了一个重要的面试,当时真的是追悔莫及。如果我平时就注意保持良好的生活习惯,或者对自己的身体状况有更多的了解,可能就不会有这样的遗憾。这本书,让我看到了,“未雨绸缪”不仅仅是应对灾难,更是提升生活品质的一种方式。它让我明白,很多时候,我们所谓的“麻烦”,是可以被提前化解的。它的文字风格也很有特点,不冗长,不晦涩,就好像一位和蔼的长辈,在分享自己的人生经验,让你在不知不觉中,就领悟了其中的道理。这种潜移默化的影响,比那些直接的指令来得更有效。
算是scm的科普书吧,想实地操练的话,去看git权威指南。
算是scm的科普书吧,想实地操练的话,去看git权威指南。
算是scm的科普书吧,想实地操练的话,去看git权威指南。
粗看了一遍,看这本书的,大多应该是对版本管理有一定认识的,所以觉得说版本管理篇幅应该少些,想大概了解下配置管理的可以看下,应该有所帮助。
每个产品实际上都需要软件配置管理专职人员,只是好多人不懂,随便找人兼职做做。实际上它是门学问,请跟随专家董越来系统的了解一下吧。绝对不会让你失望。