标签:
服务器环境基本上已经搞好,准备着手项目环境的搭建,后继项目将进入团队开发的模式,必须得弄个版本管理的工具了。而对于版本管理工具,本人了解得不多,之前只是使用过SVN,那就SVN吧。废话不多说,进入正题。
了解过SVN的人都知道,svn分为服务端和客户端。服务端主要是记录和维护所有客户端对版本库进行过的操作,客户端则是每个开发人员用来进行自己独立版本的开发。搭建svn服务端的过程并不难。度娘或google,很容易就可以找到相关的资料,因此本文就不再赘诉。本文并不是记录如何搭建一个svn服务器,而是讲一下svn服务端的基本概念和命令的理解。
服务器安装好subversion(svn服务端)后,svn服务器在工作的时候,首先需要有一个版本库,版本库通过 svnadmin create path命令来创建(例如我创建的版本库 svnadmin create /home/svn/pro),此版本库包含了svn用于版本管理的一些信息,目录锁、hook、被加入到版本库中进行版本控制的目录(以下写作被管理目录)和文件、基本的配置信息等。conf目录下,包含了用户、权限等配置信息的文件。这里不做详细分析了,想了解的朋友,可以去google下各个配置文件的配置方法,一般都有对配置文件详细的说明。
建立好版本库之后,此时版本库是一个干净的版本库。想要将某个目录纳入版本管理,还需要通过svn import命令将数据导入到版本库中。假设需要将目录/home/staff/project纳入到版本库控制,直接使用命令(svn import /home/staff/project file:///home/svn/pro -m "Initialize import")即可。本人刚开始进行svn服务器搭建的时候,svn import这个命令让我迷糊了好久。svn import究竟做了什么呢?这里需要说明一下svn版本库的功能,它只是包含一些配置信息和 “被管理目录“ 的管理信息,本文之前也有说明,并不是将数据直接存放在版本库里。因此,将 ”被管理目录” (/home/staff/project) 纳入版本库中的操作svn import,一是版本库增加了一些 “被管理目录” 的管理信息。二是在 “被管理目录” 处添加了版本控制信,在/home/staff/project 的同层目录下,会生成一个.subversion目录,往后通过客户端做的一些文件修改的增量或减量信息,就存放在这个.subversion目录下。而版本库只是作版本号,用户,锁等基本的管理。
至于开发人员的工作目录,则是一份“被管理目录”的工作拷贝,不同开发人员拥有自己的一个工作目录。通过客户端的update、commit等操作进行项目的并行开发。不知不觉,唠叨了这么多,用过svn或其它版本管理工具的朋友,应该都可以理解它。因为,也不太累赘了。
本人在搭建svn环境的时候,对于它不了解,导致花了不少冤枉时间,查了不少资料才明白,趁着现在还记得,在这里记录下来,方便以后查阅。本人知识有限,如果有哪些理解有误的地方,欢迎大家指正,谢谢!
标签:
原文地址:http://www.cnblogs.com/vathena/p/4322007.html