SVN是Subversion的简称,是一个开放源代码的版本控制系统。
合作开发的时候,对SVN的使用有3个软件:SVN的服务器端,SVN客户端(也就是Tortoise SVN,平常checkout时用的那个),还有一个SVN乱入到vs里面的一个插件。
本文想说的是项目管理中一些经验和技巧。
1,SVN里的目录结构布局
搭建好SVN之后,就开始规划项目了。刚着手的时候,根据以前在考试系统做个N多次测试的经验——要想大家配合好,首先文档之类的东西要规范到Pro,易懂到Nuts都明白。所以把SVN里面目录分好就非常重要了。在搜一些项目的目录结构的时候,就无意中看到了SVN的目录结构布局。
Subversion有一个很标准的目录结构,是这样的。
比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是
svn://proj/
|
+-trunk
+-branches
+-tags
这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
有两种比较常见的开发方式:一种是一trunk为主开发目录进行开发,tag存储稳定版本; 另一种是在每一个release的branch中进行各自的开发,trunk只做发布使用。这两种方式各有优缺点,大家有兴趣可以百度下。
学习完目录结构的布局之后,参照标准结构,于是产生了我们SVN上的目录结构:
2,为组员规定一些格式规范
例如,建立好SVN之后,因为我们是有一个共享文件夹的,用来放一些公共的东西:
在让大家上传之前,要先规定好文件该怎么命名,该上传什么东西,等等。还有后期的写文档也是如此,规范不是用来起一个约束作用的,而是用来维持一个不慌乱的秩序的。
3,关于VS中插件的使用
在向SVN里面提交的时候,我们可以提交到checkout出的文件夹,然后再ADD,commit,但是在VS里面装好插件之后,可以直接在VS里面提交,不用再那么麻烦了。
在VS里面提交,跟在检出的文件夹中加入文件差不多。都是先add,然后commit.
如图:
首先将打开的solution加入到svn中:
然后选择一个存在的版本库:
添加上传文件夹的URL:
添加成功之后,再commit之后就好:
项目管理:关于SVN的实践