- 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
- 巴基斯坦人口1.doc
- 巴基斯坦寻求增购F-16.doc
- 巴基斯坦矿产资源.doc
- 巴基斯坦游记.doc
- 市场上常见的POS机型介绍.doc
- 巴基斯坦美图.doc
- 市场营销学练习部分模板.doc
- 常用工程试验取样.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
最近下载
- 《常考题》初中八年级数学上册第十三章《轴对称》习题(含答案解析).docx VIP
- 《事件相关电位入门》课件.ppt VIP
- 《儿童骨科疾病诊断》课件.ppt VIP
- 公司战略与风险管理 第3版 吕文栋 教学大纲+教案1--3.doc
- 12SG121-1 施工图结构设计总说明(混凝土结构) .docx VIP
- 一种实验室危化品试剂进出库智能化管控系统及管控方法.pdf VIP
- 专练08:读后续写-2020-2021学年高一英语下学期期末题型专项训练.docx VIP
- 动脉血标本采集技术操作考核及评分标准.docx
- AI驱动的知识图谱:混合式教学模式创新研究.docx VIP
- AI辅助混合式教学设计实践与效果评估.docx VIP
文档评论(0)