Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是 svn://proj/
|
+-trunk
+-branches
+-tags
这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使 用,svn并没有明确的规范,更多的还是用户自己的习惯。包括桌面软件的开发与互联网应用的开发,对于目录的使用也是不同的。
对于ishengshi这样一个互联网应用的开发项目来说,我们采用trunk作为主线开发目录。这个目录里的版本一旦成熟,就会应用到服务器上。branches则是作为项目成员之间共享文件,或者当有一个新的创意出来,但是未经过严格测试,尚不能进入主线时,就可以创建一个新的分支进行开发。tags目录则是对trunk中每一个成熟的版本进行备份,留待以后参考。
当然,针对不同的需求,目录的使用方式也是多样的。
Subversion在目录之外,还有这么几个基本概念:
- 版本库
-
Subversion 使用集中的数据库,它包含了所有的版本控制文件及其完整历史。这个数据库就是版本库。版本库通常位于运行 Subversion 服务器的文件服务器上,向 Subversion 客户端(例如 TortoiseSVN)提供需要的数据。如果只备份一个东西,请备份版本库,因为它是你数据的主副本。
- 工作副本
-
这是实际工作的地方。每一个开发者在自己的电脑上都有属于自己的工作副本,有时可以将其理解为沙箱。你可以将最新的版本从版本库上取下来,在本地的副本上工作而不影响其他人,如果对更改满意就可以将其提交到版本库中。
Subversion 工作副本不包含项目的历史, 但是它保存了你修改前的本件的副本,就像这些文件在版本库中的状态一样。这意味着你可以轻而易举的准确检查出都做了哪些改动。
-
基本操作
- 检出(checkout)
-
在Subversion中,建立一个新工作副本的动作,就叫检出。
- 更新
- 同步工作副本到版本库中的任意一个版本
-
(未完待续)
摘要: Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。
阅读全文