- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SVN与VSS的对比
SVN使用指南
1 引言
在版本管理方面应用较为广泛的版本管理软件主要有SVN(CVS)和VSS两类。其中SVN与CVS是Unix/Linux平台上广泛使用的版本管理软件, VSS则是Microsoft推出的版本管理器。
CVS是开放源代码软件,由于其简单易用、功能强大、跨平台支持,在全球中小型软件企业中得到了广泛使用。其最大的问题就是缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是读源代码。CVS是一个典型Server/Client端软件,优点是CVS支持远程管理,项目组分布开发时用CVS。
SVN是CVS 的主要作者在CVS基础上进行开发的,用以替代CVS。SVN的设计目的就是针对CVS的一些弱点进行改进。SVN目前发布了1.正式版,已经相当稳定可靠了。
VSS是微软的产品。简单好用,局域网中用VSS。用于Team级还可以,对于企业级就有些勉强了,另外,VSS仅支持Windows 平台。
2 版本管理工具的对比
2.1 支持重命名
为了得到更好的代码,开发中需要经常进行重构,重构就经常涉及到文件的重构名,重命名对Java开发来说非常重要,SVN支持重命名。而重命名中VSS中是不被支持的。
2.2锁定文件
锁定文件会导致重构不方便,另一方面,VSS不能离线开发,而SVN则不同,员工可以带回家或出差时继续开发,回来后提交就行了。
2.3 多平台支持
SVN支持多个平台下的操作;VSS仅支持Windows平台。
2.4 外围工具的集成
SVN有多种用于服务器端的外围工具,满足多种需要。如果有需要,也可以自己写插件或管理脚本,开放的架构,允许我们这样做。而VSS不具备这些优势。
2.5 客户端的易用性
SVN客户端TortoiseSVN比VSS客户端更方便用户使用。
SVN配套的Tortoise SVN直接挂在了explorer的右键菜单功能上,方便用户操作,在每次刷新或者更改文件、目录等都会自动与SVN server比较,哪些目录下文件有更新一目了然,文件夹上面的惊叹号提醒用户Update,获得最新的修订版。而VSS采用手工同步的方式操作麻烦。
SVN本地拷贝可以随时变更,不会被设定成只读,只在提交版本的时候才进行版本更新,SVN采用的是“拷贝-修改-合并”模型;而VSS把没有checkout的文件设定成只读,VSS使用的是“锁定-修改-解锁”模型。这对用户来说是两种完全不同的工作方式。
3 日常开发中的SVN操作
3.1 版本号的解释
SVN系统中的版本号准确应该叫做“修订版本号”,每当版本库接受了一个提交Commit,文件系统进入了一个新的状态,叫做一次修订(revision),每一个修订版本被赋予一个独一无二的、递增的自然数,这个自然数就是修订版本号。
受控项目中任何一个受控文件/文件夹进行了修改提交Commit操作,项目的版本号就会提升一次,没有进行修改的文件/文件夹其版本号不会发生变化。受控项目每一个装态都包含项目的所有文件/文件夹,引起该次版本号增加的即修改了的文件/文件夹保存新副本,没有发生修改的文件/文件夹保存引用,因此项目中的文件/文件夹可能与项目的版本号不同。
3.2 更新(Update)工作副本
把他人做的修改融合到自己的本地副本当中,这个把改动从服务器拿到本地的过程就是“更新Update”。“更新Update”操作可以针对一个文件,或几个被选择的文件,或某个文件夹中的所有文件。选择想要进行“更新Update”操作的文件和(或)文件夹,单击鼠标右键,在菜单中选择“更新Update”, 执行窗口显示正在“更新Update”的进度。他人做的修改会合并到自己的文件中,而自己所做的修改会被保留。如果不能合并,将会出现冲突(红色文字显示),冲突的文件图标将出现标志。
命令 “更新至版本Update to Revision...” 可以使[本地工作区]更新到自己选择的一个特定版本。
3.3 解决冲突
选择的文件,点击鼠标右键菜单中选择“编辑冲突Edit Conflict”来打开合并工具或冲突编辑器,做一些必要的修改,然后保存文件。然后选择菜单中的“已解决的Resolved”命令执行,接着提交commit修改到仓库。
注意:命令“已解决的Resolved”并没有真正的解决冲突,它只不过是把“文件名称.扩展名.mine” 和 “文件名称.扩展名.r*”(r*中星号代表任意位数字,即版本号)删除,并允许你提交修改而已。因此,建议在有冲突发生时要先执行“编辑冲突Edit Conflict” 再执行“已解决的Resolved”;如果确信自己的修改是正确的,不需要保留他人的修改,可将文件名称.扩展名.mine去掉“.mine”后缀,并把“.r*”后缀的文件和“”的文件删除,然后正常“提交Commit”,版本库中将
文档评论(0)