svn 使用文档与应用

了解svn:
 随着应用软件的开发规模及复杂程度日趋大型化,使得软件开发模式从早期的个人作坊式渐渐转变为团队协作开发方式,在这种团队协作的开发模式,为了管理好开发项目,就离不开版本控制软件,在开发过程中采用版本控制软件,能够完整地保存开发中对应用程序每一个源文件所有的修改记录,充分地利用版本控制软件能够对软件开发进行卓有成效的管理。

  常见的版本控制软件有VSS、CVS和SVN

  VSS(Visual Source Safe)为微软的产品,较为易学易用,使用微软的产品进行开发通常都用这个,但是VSS只能在windows平台上运行,并且不是免费软件,安全性也不高,因此应用并不太广泛。

  CVS(Concurrent Version System)是免费开源的配置管理工具,其源代码和安装文件都可以免费下载。由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。不过CVS的部署比VSS要复杂一些。

  SVN(Subversion)作为CVS的重写版和改进版,其目标就是作为一个更好的版本控制软件,取代CVS.总的来说,CVS在发展的过程中逐渐失去优势,已经不再适合现代开发,目前,绝大多数CVS服务已经改用SVN.

  目前流行的Google Code开源项目托管平台就是使用SVN进行版本控制。

  Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。
  SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。


比较常用的功能是“更新”和“提交”。通过“更新”可以从SVN服务器上下载最新的代码,“提交”则可以将本地修改的代码上传到SVN服务器上。


 什么是SVN(Subversion)

有一个简单但不十分精确比喻: SVN = 版本控制 + 备份服务器

在windows下服务器安装:
  VisualSVN-Server-2.5.8.msi
  在安装的时候需要选中版本控制库的目录:E:\Repositories\
直接安装即可

在本地安装客户端:
  TortoiseSVN-1.7.11.23600-win32-svn-1.7.8.msi
直接安装即可

服务器配置:

 1--建立版本库(Repositories)
   选中Repositories ---右键---新建--->Repository--->填写 Repository Name: StuApp --->选中 Create defualt structure(trunk,branches,tags)---->点击ok
   点击ok 之后,那么visualSVN-server 会自动在E:\Repositories\下面创建StuApp


 2--新建用户
    选中User--->右键--->新建-->user--->填写 User name:  Password:  confirm Password:
---->点击ok

 3--新建组
   选中Groups--->右键--->新建--->group--->点击ok

 4--给组添加用户
   双击Groups-->选中用户-->右键-->edit..---->Add---->选中用户点击ok--->确认点击ok

 5---给用户或者组付权限
   点击Repositories---->选中下面的版本库StuApp---->右键--->选中Properpies...---->点击添加--->选中组或者用户 选中权限------>点击应用------>点击确定

操作客户端:

上传:
   在任意盘符新建文件夹, 点击文件夹--->右键--->TortoiseSVN--->Repo-browser-->填写url 地址 https://PC2012122816sjc/svn/StuApp---->点击ok---->然后就可以将文件拖到trunk下面

下载:
  在实际工作中我们通常将项目下载到自己的本地。
  在任意目录点击右键---> URL of repository: https://PC2012122816sjc/svn/StuApp---->点击ok--->将会下载在本地

  修改:


版本控制原则
SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。

建议的开发过程组织:
1.    随行就市
项目刚开始阶段,单独开发;项目稳定阶段,完整开发。项目开发初期,各个项目成员负责自己的文件夹(或者模块),与SVN服务器间的更新、提交等操作只需要针对自己负责的文件夹(或者模块)就行了,他人的文件夹(或者模块)可以不必关心;项目稳定阶段,也就是每天的变更量很小了,所有项目成员与SVN服务器的更新、提交等操作需要针对项目的所有文件夹(或者模块),各个项目成员在其本地编译时本地工作区的全部项目程序(或者资料)均为最新的版本,保证项目作为整体能够顺利运行。
2.   能躲就躲
尽量保证一份文件只有一个项目成员在编辑。举例说明:程序员A负责底层中文件 DBAccess.cs的编写,如果程序员B的工作要求他为DBAccess.cs增加两个方法,程序员B应该通知程序员A来增加而不是自己增加;如果此时A非常繁忙需要B自己增加,就需要B先更新本地的DBAccess.cs,然后开始修改,修改完成后立即提交并通知A更新本地的文件,通过缩短提交间隔来减少冲突。


  












你可能感兴趣的:(SVN,文档,subversion)