365文库
登录
注册
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
七句情话 上传于:2024-08-13
团队软件开发实战教程SVNampTortoiseSVNampAnkhSVN目录一版本控制2什么是版本控制2为什么要使用版本控制2版本控制发展简史3二SVN3CVS发展瓶颈3SVN的诞生3SVN简介4SVN优点4三版本控制实战操作5实战工具选择5服务器安装6服务器架设8客户端安装11TortoiseSVN16101989811AnkhSVN11签入文件源代码12标准模式方法一12标准模式方法二15VS模式19签出文件源代码21四简易流程22五学习参考资料22一版本控制什么是版本控制版本控制系统VersionControlSystem用于保存编写开发项目应用程序时各文档项目源代码的各个修订版revision记录程序各个模组的改动并为每次改动编上序号因此版本控制又称为源代码管理版本控制对于程序员来说就好比高空秋千表演者下面的安全网版本控制使你有能力去冒以往想都不敢想的风险去修改程序源代码如果哪儿出了错总是可以使自己的代码回复到一个已知的工作正常的版本你可以在不触及主干的分支中进行试验而不会影响到其他小组成员如果在已经发布的产品的较老版本中发现bug时可以轻松检出特定版本以确认修订并生成该bug的修补程序如果没有版本控制必须慎之又慎缓慢地推进生产力会更低为什么要使用版本控制为团队提供了所有项目文档的回退按钮支持多个开发人员在可控的方式下为相同的代码工作版本控制系统保存了文档在过去的各个改动便于查找是谁在何时因为什么修改了文档支持在文档的主线上同时有多个版本支持查询在某个时点上项目各个文档的状态可用于研究生产效率等也可用于对以前的软件发行版的再发行版本控制发展简史CSSCSourceCodeControlSystem是一种基本的源文件版本控制工具它适用于任何正文文件的版本维护它基于单一文件的版本控制缺陷很多属于元老级CVSConcurrentVersionsSystem是开放源代码软件世界的一个伟大杰作由于其简单易用功能强大跨平台支持并发版本控制而且免费它在全球中小型软件企业中得到了广泛使用二CVS发展瓶颈仅能处理ASCII文件Unicode文件会令CVS严重混乱CVS存储库更改起来极为困难没有任何关于移动操作的概念不会连接两个操作因此也很容易使文件历史轨迹丢失只能满足老式C程序员的ASCII需求而对Web开发人员和其他非传统用户来说CVS实际上根本不起作用SVN的诞生由于已经处于主流技术平台的CVS随着应用范围的扩大逐渐出现了如上所述的瓶颈问题所以促使的下一代的源代码管理软件的出现SVN2000年CollabNetInc找到了KarlFogel和JimBlandy共同开发下一代版本控制工具2001年8月31日Subversion雏形诞生2004年初Subversion102009年绝大多数CVS服务已经改用SVNCVS已经停止维护SVN简介SVN全程Subversion是新一代的版本控制工具正逐步替代CVSSubversion是一种自由开源的全新版本控制系统允许数据恢复到早期版本或者检查数据修改历史称作神奇的时间机器支持可在本地访问或通过网络访问的数据库和文件系统存储库可以在不同的电脑上操作允许在各自的空间里修改管理同一组数据SVN提供了常见的比较修补标记提交回复和分支功能性Subversion还增加了追踪移动和删除的能力支持非ASCII文本和二进制数据不仅对传统的编程任务非常有用同时也适于Web开发图书创作和其他在传统方式下未采纳版本控制功能的领域修改不是单线进行开发速度快促进团队协作SVN优点统一的版本号任何一次提交都会对所有文件增加到同一个新版本号即使是提交并不涉及的文件所以各文件在某任意时间的版本号是相同的版本号相同的文件构成软件的一个版本原子提交一次提交不管是单个还是多个文件都是作为一个整体提交的在这当中发生的意外例如传输中断不会引起数据库的不完整和数据损坏重命名复制删除文件等动作都保存在版本历史记录当中对于二进制文件使用了节省空间的保存方法简单的理解就是只保存和上一版本不同之处目录也有版本历史整个目录树可以被移动或者复制操作很简单而且能够保留全部版本记录优化过的数据库访问使得一些操作不必访问数据库就可以做到这样减少了很多不必要的和数据库主机之间的网络流量分支的开销非常小三版本控制实战操作SVN是一个典型的CS模式的应用程序拥有服务器端和客户端程序它可以在Windows环境或者Linux环境下运行大部分是在Linux环境下本文所实战的系统平台为WindowsXP对项目源代码的管理主要应用的是Subversion与它在服务器端配合使用的Apache这个软件的配置方法十分复杂不易掌握另外还需要有WindowsService的一部分内容所以我们所选取的工具为如下所示实战工具选择本教程所使用的工具软件分为服务器端和客户端在客户端又分为工具和插件插件适合于应用VisualStudio开发应用程序平台的使用者服务器端VisualSVNServer213该工具封装了WindowsService集成了Subversion1612和Apache2213两个工具软件服务器安装这个软件是项目负责人项目小组负责人项目经理负责安装的双击安装文件VisualSVNServer213一路next如图所示在这个部分特别注意安装过程需要选择服务的端口和代码库的位置特别是ServerPort的选择一般情况下是系统默认就行如果你系统中该端口已经被占用那么系统会提示其他情况我们选择8443这个端口另外在选择身份认证的时候要用Subversion身份认证最后点击Finish结束服务器的安装服务器架设启动VisualSVNServer架设服务器步骤如下Step1在控制区的Repositorise处右击选择弹出菜单中的新建版本库在这个绿框里如果勾选的话系统会在版本库中自动创建trunkbranchestags三个文件夹Step2为版本库创建用户在控制区的Users处右击选择弹出菜单中的新建用户Step3为版本库创建用户组在控制区的Groups处右击选择弹出菜单中的新建用户组Step4为版本库添加用户或者用户组并设置各个用户的权限客户端安装TortoiseSVN161019898该软件是开发人员在各自的计算机上安装的双击TortoiseSVN161019898一路next安装即可时间比较长最后提示需要重启计算机不重启也没有关系AnkhSVNVisualStudio插件AnkhSVN的安装也是一路next不过这个软件是不需要你来选择安装路径的前提是必须提前安装好VS2008安装完成后如何测试是否已经装好AnkhSVN了呢方法如下签入文件源代码前提条件版本库Test创建完毕签入文件的模式分为两种标准模式和VS模式在标准模式中又有两种方法下面一一介绍首先标准模式方法一Step1在服务器端找到需要签入的源代码文件夹右击选择TortoiseSVNImport签入该文件夹下的源代码Step2选择版本库的URL该URL在VisualSVNServer中该版本库的状态区Step3身份验证该身份验证的用户和密码为在创建该版本库过程中创建可以访问该库的任意一个用户原则上是项目经理等来规划项目的负责人所创建的项目程序框架单击OK即可源代码与版本库连接上了同时在VisualSVNServer中刷新控制区可以看到该版本库的状态去出现许多文件注意这个方法签入的源代码文件是作为原版出现的所以该文件夹没有TortoiseSVN的重载图标标准模式方法二Step1在任意处新建一个空白文件夹并命名WorkCopySomebody并右击选择SVNCheckoutStep2选择相应的版本库服务器地址并输入用户名和密码下载最新最初版本库内容生成一个隐藏的文件夹该文件夹即为版本库其中存储着最新版本库的内容即已经改动过的文件的日期用户和改动内容等等Step3将源代码或者程序框架复制到该文件夹中特别要注意的是一定要选择Commit发送右击空白处选择Commit该过程是出现TortoiseSVN重载图标的VS模式这个模式主要涉及的是应用VS20052008开发应用程序的用户的前提条件是必须安装好VS插件AnkhSVN在VS环境中签入版本库的方法如下Step1在VS2008中创建空白解决方案签入版本库特别注意要勾选AddtoSubversion输入版本库服务器地址然后Commit这个空白的解决方案Step2创建项目并添加到空白解决方案并Commit以上步骤完成了在VS里将源代码签入到版本库中的操作签出文件源代码这个操作是针对程序员也就是客户来说的项目的各个小组成员将最新版本的程序下载到本地机根据负责的不同功能模块对程序进行修改然后实时的将修改过的文件Commit到版本库更新版本整个过程类似签入文件中的标准模式方法二同样是在本地机新建一个工作拷贝作为自己今后的工作文件夹右击空白处SVNCheckout下载最新的版本对程序进行修改并上传四简易流程使用的软件有服务器端VisualSVN213TortoiseSVN161019898AnkhSVN2184208使用步骤项目经理架设服务器端使用VisualSVN213建版本库建用户给用户分组为版本库添加用户并设置权限项目经理创建程序架构在文件夹里右击SVNcheckout下载最新版本库在该文件夹下创建程序框架或者把已经创建好的源代码拷贝到该文件夹下将源代码发送至服务器端右击文件夹空白处Summit即把源代码发送至服务器端程序员下载源代码使用TortoiseSVN161019898在客户机上安装TortoiseSVN161019898在客户机上创建一个项目文件夹用来存放项目源代码在该文件夹下右击SVNcheckout下载最新的版本库文件即源代码程序员上传源代码代码编辑完后在改动的文件上右击Summit即向服务器发送数据
tj