码迷,mamicode.com
首页 > 其他好文 > 详细

svn关于版本库、工作目录的理解

时间:2015-03-08 18:38:28      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

  服务器环境基本上已经搞好,准备着手项目环境的搭建,后继项目将进入团队开发的模式,必须得弄个版本管理的工具了。而对于版本管理工具,本人了解得不多,之前只是使用过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环境的时候,对于它不了解,导致花了不少冤枉时间,查了不少资料才明白,趁着现在还记得,在这里记录下来,方便以后查阅。本人知识有限,如果有哪些理解有误的地方,欢迎大家指正,谢谢!

svn关于版本库、工作目录的理解

标签:

原文地址:http://www.cnblogs.com/vathena/p/4322007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!