网上看到的教程,拿来学习一下:
简单的说SVN是一个GPL版本控制软件,其创始人是从CVS项目中出来了,其目标就是替换掉CVS,SVN尽力维持CVS的用法习惯,并增加了一些很方便但CVS做不到功能,如目录改名等。笔者使用了两个月的SVN后,感觉SVN确实做到了。
SVN简介及使用说明
作者:mirclle
一、概述
简单的说SVN是一个GPL版本控制软件,其创始人是从CVS项目中出来了,其目标就是替换掉CVS,SVN尽力维持CVS的用法习惯,并增加了一些很方便但CVS做不到功能,如目录改名等。笔者使用了两个月的SVN后,感觉SVN确实做到了。
二、SVN能够做什么
1、从CVS继承的功能
(1)、程式码版本的存储与维护
(2)、程式码版本的追踪回溯
(3)、程式码版本的分合控制
(4)、职员多人合作开发专案
(5)、程式码远端管理维护
(6)、程式码匿名截取
2、在CVS基础上增添的新功能
(1)、目录版本控制,目录更名
在 CVS中,一个目录是没有版本历程的,假如原来一个名为doc/的目录,在经过一段时间之后,发现它应该要称为manual/比较恰当,此时我们只能建立一个新manual/,把doc/目录下的档案复制过去,把manual/下的档案新增至CVS系统中,再把doc/删除。而且必须注意的是,在档案的复制与删除过程中,我们也同样地遗失了这些档案的历史历程。版本控制最主要的资料就这样丢掉了。
但是在SVN中,目录与项目文件同样都是纳入版本控制之中。也就是说,我们可以随时要求SVN将某个项目文件恢复到某个时间点的状态,也可以对目录进行更名的动作。
(2)、对多个项目文件进行不分割送交
在CVS中,虽然我们可同时对多个项目文件进行送交,但是CVS并不保证一次的送交是不可分割的,而SVN的送交就没有这个问题。送交的结果不是全都进系统,就是全都没有进系统,不会只有一部分及系统的状况。
(3)、更佳的二进制资料处理
首先,SVN不主动更动项目内容,除非使用者加上这样的设定。再者,它使用可适用于文字与二进制资料的内容差异演算法,在项目储存上,文字与二进制资料都具有相同的优势。现在,不只是文字资料适合置于版本控制系统中,连二进制资料也可以很方便地放进来。
(4)、高效率的分支与标记
在SVN系统的标记是以目录的副本的方式建立的,而副本是以类似链接的方式来建立。也就是说,不管涉及的目录与项目有多少,它所花费的时间都是固定的,不会因为档案越多而耗时越久。同样的,SVN的分支也是以目录的副本来实现的。
注释:1-6条是SVN继承了CVS的特点,因此,在这里不再进行详细的描述。7-10条为SVN在CVS基础上增加的新功能。 其他详细内容请参考关键词(SVN CVS SOURCESAFE 版本控制 源代码管理)。
三、名词解释
1、Check out——从服务器端取得代码
把服务器资料库里存放的某个项目代码取出来,放到本地主机中,这个动作叫做“check out”。使用具体步骤:进入要安装项目文件的目录中,点击鼠标右键,选择SVN Check out项,然后填写项目的原始路径和安装路径后点击“ok”即可。
2、Update——更新项目代码
以前checkout过的一个项目代码,当服务器上有了更新的代码,或者本地代码损坏或丢失,update可以自动判断本地哪些文件较旧,或者缺少,都会自动更新。当然,你也可以删除掉本地代码,重新check out。使用具体步骤为:在要更新的项目上点击鼠标右键,选择“SVN Update”项即可。
3、Commit——将本地代码上传到服务器
当修改(增加,删除,修改等所有写操作)过本地代码后,这个动做会把新代码提交到SVN。如果本地代码做了修改,不执行commit操作,SVN服务器上是不会有这个新版本的,也就是说其它人也得不到。对代码做过修改后,应尽快commit。使用具体步骤:在修改完待上传的项目上点击鼠标右键,选择“SVN Commit”项即可。
4、Export——将项目导出到本地
如果想要得到一个完整的项目,且不需要再进行版本的改动,可以直接把该项目导出版本控制系统,成为一个普通文件进行使用。具体步骤为:单击鼠标右键,选择TortoiseSVN——>>Export项,然后填入要导出的项目既可。
5、Show Log——显示所有版本
如果项目成员想查看本地下载的属于版本控制内的某个项目以前的所有版本,就在该项目上单击鼠标右键,选择TortoiseSVN菜单下的Show Log项。则该项目的所有版本及其每个版本的修改信息都将显示在出现的新对话框下,供项目成员进行参考。
6、Update To Revision——恢复到某个版本
当项目成员想要把某个项目恢复到以前的某个版本时,在该项目上单击鼠标右键,选择TortoiseSVN菜单下的Update To Revision,于是,在出现的Update对话框中可以先点击“Show Log”来查看及确定要恢复到的版本号,或者直接将要恢复到的版本号填入“Revision”旁的编辑区内,最后点击“OK”。于是,该项目就恢复到想要的项目版本了。
7、Add——增加文件
当项目成员想在项目中添加一个新文件时,请把该文件先拷贝到项目文件加下,然后,在该文件上单击鼠标右键,选择TortoiseSVN菜单下的Add项,于是,该文件就可以被添加到项目中了。
四、高级特性
1、Update to revision
Update默认更新到最新版本,update to revision则可以更新到指定版本(可以是更旧的版本)。
2、增删项目文件及目录的操作
增删项目内文件或目录,请一定使用svn add ,或svn del 或svn rename,然后做commit操作
上文来自于:http://mirclle.itpub.net/post/7306/40790
客户端svn的使用
这里只是记录Linux下命令行客户端svn的使用。
1. 第一次导入本地文件到SVN
首先你的本地projet应该有文件夹branches, tags, trunk(为啥我暂时不知道)
然后导入:
svn import /your_projec_path file:///svn_project_path -m "initial import"
2. 取出工作拷贝
svn checkout file:///svn_project_path /your_local_file_name
最后一个参数为下载下来的文件名字,随便起都行。
3. 常用命令
在checkout了拷贝之后,拷贝的目录下面有一个./.svn目录,里面记录了相关信息。
svn diff : 检查本地拷贝和svn中的文件的区别
svn log : 列出修改日志
svn add : 把文件和目录放入版本控制中,会在下一次提交的时候加入
svn update :更新你的拷贝
svn commit :提交你的拷贝
省下的直接 svn help command 来查询好了
4.典型的工作周期是这样的:
*
更新你的工作拷贝
o
svn update
*
做出修改
o
svn add
o
svn delete
o
svn copy
o
svn move
*
检验修改
o
svn status
o
svn diff
o
svn revert
*
合并别人的修改到工作拷贝
o
svn update
o
svn resolved
*
提交你的修改
o
svn commit
以上是基本入门的东西,复杂的合并什么的慢慢研究。
分享到:
相关推荐
在这篇文章中,我们将对 SVN 和 CVS 进行比较,介绍 SVN 的一些优点和 CVS 的一些缺点。 全局性的版本编号 SVN 和 CVS 都支持版本控制,但是 SVN 的版本控制更加灵活和强大。SVN 的版本控制是基于全局性的版本编号...
### SVN与CVS对比分析 在软件开发领域,版本控制系统(Version Control System,VCS)是不可或缺的工具,它帮助开发者们追踪代码的变更历史,协同工作,以及管理项目的复杂性。Subversion(简称SVN)和Concurrent ...
简要cvs与svn的比较 1 对重命名、删除文件的支持 cvs:不支持本地文件重命名提交 删除分remove和erase两种前者把本地和库中文件都删除 后者只是删除本地文件 不能删除文件夹 svn:支持文件重命名提交系统会提示...
本文将深入探讨CVS(Concurrent Versions System)到SVN(Subversion)的转换过程,重点介绍用于此目的的关键工具——cvs2svn。CVS是一种广泛使用的版本控制系统,而SVN作为其后继者,提供了一些改进的功能和更现代...
2. **配置CVS2SVN**:通过配置文件(通常为`cvs2svn.conf`)指定CVS仓库、SVN仓库信息,以及迁移策略,如分支映射、用户映射等。 3. **预览迁移**:使用`cvs2svn --dump`进行预览,检查迁移计划是否正确。 4. **...
下面将详细介绍CVS和SVN的配置学习要点。 1. CVS简介: CVS是一种早期的版本控制系统,它基于客户端-服务器架构,允许开发者在不同的计算机上工作并同步更改。CVS的核心特性包括版本追踪、分支与合并、冲突解决...
对比CVS,SVN在很多方面进行了优化和增强。首先,SVN支持目录版本控制,可以完整追踪文件和目录的历史变化,这使得文件的移动、重命名和拷贝操作得以保留其历史信息,提高了代码管理的灵活性。其次,SVN的全局版本号...
svn1.3版本的安装过程 以及svn和cvs的比较。 仅供各位大虾参考!
### 一键清除SVN或CVS版本控制目录 在软件开发过程中,版本控制系统如Subversion (SVN) 和 Concurrent Versions System (CVS) 被广泛应用于代码管理、版本跟踪和协同开发。随着时间的推移,项目目录中会积累大量的 ...
### CVS到SVN迁移指南:...通过上述详细步骤和注意事项的介绍,我们不仅了解了CVS到SVN迁移的基本流程,还掌握了使用cvs2svn工具的关键技巧。无论是对于初学者还是经验丰富的开发者,这份指南都将是一份宝贵的资源。
1. **CVS与SVN对比**:CVS是一个早期的版本控制系统,而SVN在它基础上进行了改进,提供了更好的版本管理和团队协作功能。SVN支持分支和合并,拥有强大的日志查询能力,并且可以更好地处理大型项目。 2. **cvs2svn...
自己编写的Tortoise SVN CVS 图标修复软件,可以恢复资源管理器上的SVN,CVS图标显示问题。
在IT行业中,版本控制系统如Subversion (SVN) 和 Concurrent Versions System (CVS) 是团队协作开发的重要工具,用于管理代码版本和跟踪更改。然而,有时候我们可能需要清理工作环境,比如移除与这些系统相关的配置...
CVS(Concurrent Versions System)和SVN(Subversion)都是源代码版本控制系统,用于管理和跟踪文件及目录的变更。它们都属于SCM(Software Configuration Management)工具,但两者之间存在显著的区别。 1. **...
清除SVN、CVS版本控制信息,支持此文件后,在鼠标右键将多出Delete CVS/SVN Folders选项。
在IT行业中,版本控制系统如Subversion (SVN)、 Concurrent Versions System (CVS) 和 Visual SourceSafe (VSS) 在软件开发中起着至关重要的作用。这些系统帮助团队协同工作,跟踪代码更改,并管理项目历史。然而,...
迁移CVS到SVN的过程可能会有一些挑战,如处理历史数据的复杂性,但是使用正确的工具和准备充分,可以确保数据的完整性和迁移的无缝性。通过这个过程,项目可以享受到SVN带来的更高级别的版本控制功能,如更强的分支...
但相比SVN,CVS有一些限制,例如在处理大型文件或并发操作时效率较低,且不支持分支和标签的原子性操作。尽管如此,CVS在很多老项目中仍然被广泛使用。 3. **源码管理**: 在软件开发过程中,源码管理是必不可少的...