建立Subversion服务器.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:6 大小:28KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

建立Subversion服务器.doc

建立Subversion服务器.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

像我以前说过的,subversion是一个非常好的版本控制系统。如果你对版本控制这个概念不太了解的话,我来简单解释一下。比如我有一个项目,有几百个文件,包括项目的相关文档,图表,和一些视频音频文件,它们都被放在电脑的一个文件夹内。随着项目的发展,文件夹内的会增加新的文档图表等文件,而老的文件也会被修改,同时也许会有一些文件会被删除。在版本控制系统下,每一次对该项目文件夹下的改动,都会被记录,如果哪个文件被删错了,或是想把文档恢复到以前的版本,可以轻而易举的达到。更了不起的是,如果该项目被一个团队来执行,该团队的每一个成员都可以对项目内的文件进行管理和同步,这样就可以保持大家永远onthesamepage.如果我说的不清楚,可以参考一下GoogleDocs的revision功能,对于一篇文档,你可以回到以前的版本。这个就是一个简单的版本控制。本质上说,subversion干的活和GoogleDocs干的一样,但不同的是,subversion使用上更加灵活,功能上更加强大。对于普通的个人应用,建立subversion服务器完全可以在自己的电脑上进行,而且非常简单,因为完全不用去考虑安全的因素,所以也不必设置相关的验证身份的程序。如果想把“项目文件夹”(我不知道应该怎么翻译,以下改称repository或repo)放在局域网上,甚至互联网上,就相对复杂一些了。除了这篇序言,我准备分三篇说说如何建立subversion服务器,Windows和Linux都适用,因为这几天我一直都在Linux下,例子就举Linux下的,Windows下也是一样的,只需把路径格式换成Windows的就可以了。基础知识在Subversion(以下简称svn)下有两个概念要清楚,一个是repository(以下简称repo),一个是workingcopy(以下简称wc)。前者是项目所在的地方,后者是你做修改的地方,两者的内容可以完全一样,也可以不完全一样,两者在电脑上一般都表现为文件夹或目录。你在wc里所做的改动可以commit到repo中,如果你成功把wc中的内容commit到repo中,那么repo就会自动更新一个版本(revision)。如果不进行commit操作,你在wc上做的任何修改对不会对项目产生任何影响。如果你愿意,可以随时把wc替换为任何一个revision(包括以前的老版本)。要使用svn就要先安装,ubuntu的用户很简单,直接在终端处输入:sudoapt-getinstallsubversion就完成了,Windows需要到HYPERLINK"http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91"下载页面下载Windows版本,我建议下载.zip包,直接解压就可以使用了。在windows下使用最好把svn的执行文件路径加入到PATH这个环境变量中去,以便能够在任何路径下都可以正常使用,你很快就能发现,这点很重要。建立自己的repo假设我要正在制作一个wordpress主题,我需要对制作过程中的文件建立一个repo,以便在需要时可以随时“回到过去”。制作中的主题所在的目录为/foo/bar,我准备在/home/michael下建立一个repo,那么我需要这么做:#建立一个名为theme的repositorysvnadmincreate/home/michael/theme#把/foo/bar下的内容导入到theme中并建立repo,这个repo的版本号是1。svnimport-m"第一次导入"/foo/barfile:///home/michael/theme从此以后,如果在本地电脑上想checkout刚才建立的repo只需在任何路径下输入#建立一个名为baz的workingcopysvncheckoutfile:///home/michael/themebaz就完成了一个workingcopy的建立。Windows用户需要把路径格式换成file:///X:/path/to/repo。其中X:为repo的盘符。在wc中你可以任意修改,如果不满意可以直接用svnrevert命令恢复。在适当的时候你觉得需要把你的修改提交到repo中去了,可以用:svncommit-m"blahblah"这样就产生了新的版本。”blahblah”是给这个新版本的注解。svn命令要注意的一点是,在wc下做文件操作时,比如删除或移动文件,不能直接用rm,mv来进行,这样svn不能追踪到文件的变化,你必须使用svndel或是svnmove来完成删除或移动的操作。下面举几个命令的例子:svnad