svn指南.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
svn指南

使用TortoiseSVN进行文件版本控制 有关版本控制的介绍 一个版本控制系统最基本的功能就是记录每次修改的地方,并且可以让使用者方便地存取各个版本、比较版本差异。更进一步的,是建立一个多人开发的环境,可以计录每个人的修改,解决版本冲突的问题。 版本冲突问题是指两个人同时对一个档案作修改的动作,举个例子说,现在数据库里的版本是A,甲和乙分别把这两个档案拿出来(这个动作通常叫 checkout),在做了一番修改之后,甲先把改变的数据存回去(这个动作通常叫 checkin),这时问题还没有发生,数据库的板本被更新成B,但是当乙 checkin 的时候,问题就来了,乙的版本也是从 A 修改而来的,到底该用甲的修改版还是乙的呢?如果硬把甲的修改用乙的版本盖过去,那甲所花的工夫就全部白费了。最常用的解决办法是用文件按锁定的功能,就是当甲在修改某个档案的时候,会把档案加个 lock 的 flag 让大家知道,这个档案正在被修改,不要去动它。不过像 CVS等进阶的版本控制系统,就算没有做档案锁定的动作,发生版本冲突时,也提功了方便的功能可以把两个版本 merge起来。 对于版本控制系统目前既有开源(免费)的产品也有由大公司支持的产品(例如微软的vss),我们这里主要是介绍开源的产品,他们已经被应用且被证实是可靠的。 RCS(Revision Control System) 一个相当相当古老的工具了,虽然现在大家都是用 CVS 来做版本控制的工具但是如果没有可以使用的 CVS server 那就没有办法使用了,RCS 主要是偏个人使用的,没有像 CVS 有许多强大的功能,也不支持远程档案系统的存取。 CVS 是继RCS等传统的维护工具之后,新一代的程序开发与维护系统,现在网络上许许多多的 Open Source Project,几乎都是使用 CVS 来做版本控制的工具,它拥有以下的特色: 程序代码版本的储存与维护 程序代码版本的追踪回溯 程序代码版本的分合控制 支持多人合作开发项目 程序代码远程管理维护 程序代码匿名截取 Subversion 一套更好的 CVS! 它同样也是开放源码, 而且架构, 命令列程序界面等, 都刻意模仿 CVS, 为的就是要让习于 CVS 的使用者能够快速上手。 目录版本控制 不可分割的送交 更佳的二进制数据处理 高效率的分支与标记 CVS 最为人所垢病的缺点, 就是它的分支功能相当难以使用. 但是在实际上运用时, 分支功能可以为使用人员增加不少便利. 像是可以藉由使用分支, 将程序代码隔离开来, 让发展人员可以进行大规模更动的同时, 还能让维护人员进行维护. 而 Subversion 的分支, 亦是以目录的副本来实作的, 在观念上更容易学习, 使用起来也更方便。 通过对CVS,SubVersion,VSS的比较,我们认为对于文档的版本控制,内容管理新生代SubVersion更符合我们的需要,所以以下内容将以SubVersion作为范例讲解。 相关概念 版本库 版本库按照文件树形式储存数据—包括文件和目录。任意数量的客户端可以连接到版本库,读写这些文件。通过写,别人可以看到这些信息,通过读数据,可以看到别人的修改。图?2.1 “一个典型的客户/服务器系统”描述了这种关系: 图?2.1.?一个典型的客户/服务器系统 版本库是另一种文件服务器,而不是你常见的那一种。最特别的是Subversion会记录每一次的更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。 当一个客户端从版本库读取数据时,通常只会看到最新的版本,但是客户端也可以去看以前的任何一个版本。举个例子,一个客户端可以发出这样的历史问题“上个星期三的目录是怎样的?”或是“谁最后一个更改了这个文件,更改了什么?”,这些是每一种版本控制系统的核心问题:系统是设计来记录和跟踪每一次改动的。 工作拷贝 一个Subversion工作拷贝是你本地机器一个普通的目录,保存着一些文件,你可以任意的编辑文件,而且如果是源代码文件,你可以像平常一样编译,你的工作拷贝是你的私有工作区,在你明确的做了特定操作之前,Subversion不会把你的修改与其他人的合并,也不会把你的修改展示给别人。 当你在工作拷贝作了一些修改并且确认它们工作正常之后,Subversion提供了一个命令可以“发布”你的修改给项目中的其他人(通过写到版本库),如果别人发布了各自的修改,Subversion提供了手段可以把这些修改与你的工作目录进行合并(通过读取版本库)。 一个工作拷贝也包括一些由Subversion创建并维护的额外文件,用来协助执行这些命令。通常情况下,你的工作拷贝每一个文件夹有一个以.svn为名的文件夹,也被叫做工作拷贝管理目录,这个目录里的文件能够帮助Subversi

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档