易文龙_svn版本控制工具图解初稿

易文龙_svn版本控制工具图解初稿

ID:13288976

大小:1.90 MB

页数:59页

时间:2018-07-21

易文龙_svn版本控制工具图解初稿_第1页
易文龙_svn版本控制工具图解初稿_第2页
易文龙_svn版本控制工具图解初稿_第3页
易文龙_svn版本控制工具图解初稿_第4页
易文龙_svn版本控制工具图解初稿_第5页
资源描述:

《易文龙_svn版本控制工具图解初稿》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Subversion版本控制工具图解教程(初稿)易文龙编写QQ:452070E-Mail:jxbks@126.com59Subversion版本控制1.概述1.1什么是版本控制版本控制(Revisioncontrol)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。版本控制透过文档控制(documentationcontrol)记录程序各个模组的改动,并为每次改动编上序号。这种方法是工程图(engineeringdrawings)维护(maintenance)的标准做法,它

2、伴随着工程图从图的诞生一直到图的定型。一种简单的版本控制形式,例如,赋给图的初版一个版本等级“0”。当做了第一次改变后,版本等级改为“1”,以此类推等等。1.2什么是SubversionSubversion是一个免费开源的版本控制系统。即在它的管理下,文件和目录可以跨越时空,允许你的数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空

3、间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。1.3常见的版本控制系统2.VSS:VisualSourceSave,微软公司的版本控制器软件,http://msdn2.microsoft.com/zh-cn/vstudio/aa718670.aspx3.CVS:ConcurrentVersionsSystem,开源免费,http://www.non

4、gnu.org/cvs/4.Subversion,开源免费,http://subversion.tigris.org/5.ClearCase,IBM公司,http://www-306.ibm.com/software/awdtools/clearcase/2.基本概念版本控制工具并非程序员专用,它可以管理任何类型的文件。本文讲述的是目前最流行的Subversion,下面将介绍版本控制的几个基本概念。2.1版本库(repository)Subversion是一个“集中式”的信息共享系统。版本库是Subver

5、sion的核心部分,是数据的中央仓库。版本库以典型的文件和目录结构形式文件系统树来保存信息。任意数量的客户端连接到Subversion版本库,读取、修改这些文件。客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。如图1-1。59图1-1一个典型的客户/服务器系统的版本控制系统2.2文件共享的问题所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。考虑图1-2需要避免的问题情景,例如:我们有两个共同工

6、作者,Harry和Sally,他们想同时编辑版本库里的同一个文件,如果首先Harry保存它的修改,过了一会,Sally可能凑巧用自己的版本覆盖了这些文件,Harry的更改不会永远消失(因为系统记录了每次修改),但Harry所有的修改不会出现在Sally新版本的文件中,所以Harry的工作还是丢失了—至少是从最新的版本中丢失了—而且可能是意外的,这就是我们要明确避免的情况。图1-2需要避免的问题针对以上问题提出以下两种解决方案:⑴“锁定-修改-解锁”方案许多版本控制系统使用锁定-修改-解锁机制解决这种问题,

7、在这样的模型里,在一个时间段里版本库的一个文件只允许被一个人修改。首先在修改之前,Harry要“锁定”59住这个文件,锁定很像是从图书馆借一本书,如果Harry锁住这个文件,Sally不能做任何修改,如果Sally想请求得到一个锁,版本库会拒绝这个请求。在Harry结束编辑并且放开这个锁之前,她只可以阅读文件。Harry解锁后,就要换班了,Sally得到自己的轮换位置,锁定并且开始编辑这个文件。如图1-3“锁定-修改-解锁方案”所示:图1-3“锁定-修改-解锁”方案⑵“拷贝-修改-合并”方案Subvers

8、ion,CVS和一些版本控制系统使用拷贝-修改-合并模型,在这种模型里,每一个客户联系项目版本库建立一个个人工作拷贝—版本库中文件和目录的本地映射。用户并行工作,修改各自的工作拷贝,最终,各个私有的拷贝合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。这是一个例子,Harry和Sally为同一个项目各自建立了一个工作拷贝,工作是并行的,修改了同一个文件A,Sally首先保存修改到版本库,当H

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。