团队软件开发(svn)

上传人:小** 文档编号:57719530 上传时间:2018-10-24 格式:PPT 页数:86 大小:4.92MB
返回 下载 相关 举报
团队软件开发(svn)_第1页
第1页 / 共86页
团队软件开发(svn)_第2页
第2页 / 共86页
团队软件开发(svn)_第3页
第3页 / 共86页
团队软件开发(svn)_第4页
第4页 / 共86页
团队软件开发(svn)_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《团队软件开发(svn)》由会员分享,可在线阅读,更多相关《团队软件开发(svn)(86页珍藏版)》请在金锄头文库上搜索。

1、团队软件开发,主讲教师 李 杰软件教研室,SVN & Bugfree,Subversion(SVN),1.1 版本控制,什么是版本控制? 版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision),记录程序各个模组的改动,并为每次改动编上序号 ; 因此,版本控制又称为RCS(Revision Control System); 版本控制对于程序员来说,就好比高空秋千表演者下面的安全网;,版本控制使你有能力去冒以往想都不敢想的风险。如果哪儿出了错,总是可以使自己的代码回复到一个已知的、工作正常的版本。你可以在不触及主干的分支中进行试验,而不会影响到其他小组成员; 在已经发布的产品

2、的较老版本中发现 bug 时,可以轻松检出特定版本,以确认、修订,并生成该 bug 的修补程序。如果没有版本控制,必须慎之又慎,缓慢地推进,生产力会更低;,为什么使用版本控制? 为团队提供了所有项目文档的回退按钮 ; 支持多个开发人员在可控的方式下为相同的代码工作 ; 版本控制系统保存了文档在过去的各个改动,便于查找是谁,在何时,因为什么修改了文档 ; 支持在文档的主线上同时有多个版本 ; 支持查询在某个时点上项目各个文档的状态,可用于研究生产效率等,也可用于对以前的软件发行版的再发行 ;,版本控制简史 CSSCSource Code Control System。是一种基本的源文件版本控制工

3、具,它适用于任何正文文件的版本维护,它基于单一文件的版本控制,缺陷很多,属于元老级; CVSConcurrent Versions System。是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用 ;,CVS瓶颈 仅能处理 ASCII 文件,Unicode 文件会令 CVS 严重混乱; CVS 存储库更改起来极为困难 ; 没有任何关于 “移动” 操作的概念 ; 不会连接两个操作,因此也很容易使文件历史轨迹丢失 ; 只能满足老式 C 程序员的 ASCII 需求,而对 Web 开发人员和其他非传统用户来说,CVS

4、 实际上根本不起作用 ;,1.2 Subversion(SVN),SVN(Subversion)发展历程 2000年,CollabNet,Inc找到了Karl Fogel和Jim Blandy,共同开发下一代版本控制工具; 2001年8月31日,Subversion雏形诞生; 2004年初,Subversion 1.0; 2009年,绝大多数CVS服务已经改用SVN,CVS已经停止维护 ;,SVN简介 Subversion是新一代的版本控制工具,正逐步替代CVS ; Subversion 是一种自由开源的全新版本控制系统,允许数据恢复到早期版本,或者检查数据修改历史,称作神奇的时间机器; 支持

5、可在本地访问或通过网络访问的数据库和文件系统存储库,可以在不同的电脑上操作,允许在各自的空间里修改管理同一组数据;,提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力 ; 支持非 ASCII 文本和二进制数据 ; 不仅对传统的编程任务非常有用,同时也适于 Web 开发、图书创作和其他在传统方式下未采纳版本控制功能的领域 ; 修改不是单线进行,开发速度快,促进团队协作;,SVN优点统一的版本号。任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的,版本号相同的文件构成软件的一个版本

6、 ; 原子提交 。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏;,重命名、复制、删除文件等动作都保存在版本历史记录当中 ; 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处) ; 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录;,优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量 ; 分支的开销非常小 ;,1.3 Subversion使用,Subversion下载 Subversion是一款

7、典型的C/S模式应用程序 ,拥有服务器端和客户端程序; 可以在Windows环境和Linux环境下运行; Windows环境服务器端安装包VisualSVN Server下载地址为:http:/ Windows环境客户端TortoiseSVN下载地址为:http:/ Visual Studio插件,AnkhSVN下载地址:http:/ Eclipse插件,Subclipse下载地址:http:/subclipse.tigris.org/; 更多客户端参见http:/ 服务器端安装 软件版本VisualSVN Server 2.1.3; 下载地址http:/ 该软件封装了Windows Serv

8、ice,集成了Subversion1.6.12和Apache2.2.13 运行程序;,客户端安装 软件版本TortoiseSVN 1.6.10.19898; 下载地址http:/ 运行程序;,不需要重启即可使用。,1.4 Subversion基本概念,版本库(Repository,也叫代码库) SVN的核心部分,是数据的中央仓库; 以典型的“文件和目录结构形式文件系统树”保存信息; 任意数量的客户端连接到版本库,读取、修改这些文件,通过写数据分享信息给其他人,通过读取数据获取别人的共享信息; 与一般的文件服务器所不同在于,它会记录每个文件的改变,甚至是目录树的改变;,客户端 Subversio

9、n的客户端有两类,一类是websvn等基于web的,另一类是以TortoiseSVN为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端,两种都有免费开源软件供使用。,服务器端 Subversion支持linux和windows,更多是安装在linux下 ; svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊 ; svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点 ;,工作拷贝(Work Copy) 版本库中文件和目录的本地映射,相当于一个副本; 每一个客户端联系版本库建

10、立一个个人工作拷贝; 用户并行工作,修改各自的工作拷贝,最终,各个私有的拷贝合并在一起,成为最终的版本 ;,版本模型 版本控制的核心任务,就是实现协作编辑和数据共享 ; 那么如何实现信息的共享,不至于出现因客户端过多而引起的相互干扰,这是我们需要解决的问题;,锁定-修改-解锁 方案,拷贝-修改-合并 方案,签入 签出,资源 官方网址:http:/subversion.tigris.org/ ; subversion中文站:http:/ ; 中文手册:http:/ ; subversion与cvs的对比:http:/ ;,1.5 Subversion基本使用,服务器端 运行VisualSVN S

11、erver Manager启动VisualSVN Server; 搭建服务器端运行环境;,Step1:启动主界面,Step2:在控制区Repository处右击,创建新版本库,Step3:创建版本库名称,右图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit 。,点击OK,创建好一个没有任何东西的空版本库。,Step4:安全性设置,在Users上右击创建用户,点击OK,创建好一个用户。,Step5:安全性设置,为版本库添加用户,在想要添加用户的版本库上右击,选择属性(Properties

12、),点击图中的“Add.“按钮,在下图中选择我们刚才添加的用户,点击OK按钮,说明:大家可能注意到了左图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。,Step6:安全性设置,为版本库用户授权,点击“确定”按钮,上面的用户就具有了访问StartKit代码库的不同权限。对于Developer来说可能不止一个人,可以用分组的方法实现权限的授予,自己练习。,1.5 Subversion基本使用,客户端 TortoiseSVN; 假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SV

13、N Server上的版本库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示 ;,Step1:导入源代码,点击Import,弹出导入窗口。,Step2:导入源代码,设置版本库,点击Import,弹出导入窗口。,Step3:导入源代码,身份验证,如果点击了保存用户和密码的话,在生成另外一个版本库导入源代码时,会出现用户权限问题 解决方法,在TortoiseSVN的Setting中有一项Saved Data,其中的Authentication data清除即可。,Step4:导入源代码,成功导入,如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服

14、务器上的源代码到自己的机器了。,导入源代码方法1,导入源代码方法2,客户端 VS插件AnkhSVN 软件版本AnkhSVN 2.1.8420.8 下载地址http:/ 安装方法一路next,AnkhSVN安装成功测试方法,SVN + VS2008 + AnkhSVN版本控制方法 用SVN架构版本服务器; 用AnkhSVN在VS2008中创建项目框架并签入版本库; 客户端用AnkhSVN在VS2008中签出版本库,修改项目,并更新; 具体步骤如下:,Step1:在VS2008中创建空白解决方案,签入版本库。,特别注意: 一定要勾画上“红框”部分,才能将解决方案签入版本库。,签入,Step2:在空白解决方案中创建项目,签入版本库。,签入,Step3:客户端,签出版本库,加载项目代码。,客户端修改完成后,就可以再次更新版本库.,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号