- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
易文龙_SVN本控制工具图解初稿
Subversion版本控制工具
图解教程
(初稿)
易文龙 编写
QQ:452070
E-Mail:jxbks@126.com
Subversion版本控制
概述
1.1什么是版本控制
版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。版本控制透过文档控制(documentation control)记录程序各个模组的改动,并为每次改动编上序号。这种方法是工程图(engineering drawings)维护(maintenance)的标准做法, 它伴随着工程图从图的诞生一直到图的定型。 一种简单的版本控制形式,例如,赋给图的初版一个版本等级“”。当做了第一次改变后,版本等级改为“”,以此类推等等。.2 什么是 Subversion
Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
1.3 常见的版本控制系统VSS:Visual Source Save,微软公司的版本控制器软件,/zh-cn/vstudio/aa718670.aspx
CVS:Concurrent Versions System,开源免费,/cvs/
Subversion,开源免费,/
ClearCase,IBM公司,/software/awdtools/clearcase/
2.基本概念
版本控制工具并非程序员专用,它可以管理任何类型的文件。本文讲述的是目前最流行的Subversion,下面将介绍版本控制的几个基本概念。
2.1版本库(repository)
图1-1一个典型的客户/服务器系统的版本控制系统
2.2文件共享的问题
所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。考虑图1-2需要避免的问题情景,例如:我们有两个共同工作者,Harry和Sally,他们想同时编辑版本库里的同一个文件,如果首先Harry保存它的修改,过了一会,Sally可能凑巧用自己的版本覆盖了这些文件,Harry的更改不会永远消失(因为系统记录了每次修改),但Harry所有的修改不会出现在Sally新版本的文件中,所以Harry的工作还是丢失了—至少是从最新的版本中丢失了—而且可能是意外的,这就是我们要明确避免的情况。
图1-2 需要避免的问题
针对以上问题提出以下两种解决方案:
⑴“锁定-修改-解锁”方案
许多版本控制系统使用锁定-修改-解锁机制解决这种问题,在这样的模型里,在一个时间段里版本库的一个文件只允许被一个人修改。首先在修改之前,Harry要“锁定”住这个文件,锁定很像是从图书馆借一本书,如果Harry锁住这个文件,Sally不能做任何修改,如果Sally想请求得到一个锁,版本库会拒绝这个请求。在Harry结束编辑并且放开这个锁之前,她只可以阅读文件。Harry解锁后,就要换班了,Sally得到自己的轮换位置,锁定并且开始编辑这个文件。如图1-3“锁定-修改-解锁 方案”所示:
图1-3 “锁定-修改-解锁”方案
⑵“拷贝-修改-合并”方案
Subversion,CVS和一些版本控制系统使用拷贝-修改-合并模型,在这种模型里,每一个客户联系项目版本库建立一个个人工作拷贝—版本库中文件和目录的本地映射。用户并行工作,修改各自的工作拷贝,最终,各个私有的拷贝合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
这是一个例子,Harry和Sally为同一个项目各自建立了一个工作拷贝,工作是并行的,修改了同一个文件A,Sally首先保存修改到版本库,当Harry想去提交修改的时候,版本库提示文件A已经过期,换句话说,A在他上次更新之后已经更改了,所以当他通过客户端请求合并版本库和他的工作拷贝之后,碰巧Sally的修改和他的不冲突,所以一旦他把所有的修改集成到一起,他可以将工作拷贝保存到版本库,如图1-4、1-5“拷贝-修改-合并 方案”展示了这一过程。
图1-4 “拷贝-修改-合并”方案(一)
图1-5 “拷贝-修改-合并”方案(二)
如果Sally和Harry的修改交迭了该怎么办?这种情况叫做冲突,这通常不是个大问题,当Harry告诉他的客户端去合并版本库的最新修改到自己的工作拷贝时,他的文件A就会处于冲突状态:他可以看到一对冲突的修改集,并手工
您可能关注的文档
- 无惧挑战-金牌售的大客户开发和维护.doc
- 无损检测通用工规程一般性要求.doc
- 无机化学的发展景 论文.doc
- 无框阳台窗知识汇总(最全).docx
- 无源直读式燃气工作原理和技术性能.doc
- 无法访问路由器管理页面的几个解决方法.doc
- 无源音箱检验标jsp.doc
- 无正本提单交货货纠纷案.doc
- 无瑕街道200年社会治安综合治理工作总结.doc
- 无私奉献新课程景下高考语文学科研究综述.doc
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
最近下载
- 成品保护及现场管理措施.docx
- 全科医学胃癌病例讨论.docx VIP
- 把握高考,精致备考——2024届语文备考策略 课件.pptx VIP
- 新生儿肺透明膜病个案.pptx VIP
- 2024年国家电网招聘之财务会计类题库附参考答案(轻巧夺冠).docx
- 2023-2024学年牛津上海版英语八年级上学期单元测试提升卷 Unit 3Trouble含详解.docx VIP
- 最新老年病的临床特征及其诊治原则PPT课件.ppt
- 2023-2024学年牛津上海版英语八年级上学期单元测试基础卷 Unit 3 Trouble含详解.docx VIP
- 2024年高考英语3500词汇朗读加例句.pdf
- 老年病的临床特征及其诊治原则课件.pptx VIP
文档评论(0)