Subversion 是一款非常好的开源版本控制系统,目前最新版本 1.4.4,新增版本库镜像工具 svnsync 和对 working copy 性能的改进,另外新版也开始支持 BerkeleyDB 4.4。在介绍前必须先搞清楚两个概念,一个是 repository (版本库,以下简称 repo), 一个是 working copy (工作拷贝,以下简称 wc),前者是项目所在的地方,后者是你做修改的地方。如果你对版本控制这个概念不太了解的话,Michael 简单解释了一下。
比如我有一个项目,有几百个文件,包括项目的相关文档,图表,和一些视频音频文件,它们都被放在电脑的一个文件夹内。随着 项目的发展,文件夹内的会增加新的文档图表等文件,而老的文件也会被修改,同时也许会有一些文件会被删除。在版本控制系统下,每一次对该项目文件夹下的改 动,都会被记录,如果哪个文件被删错了,或是想把文档恢复到以前的版本,可以轻而易举的达到。更了不起的是,如果该项目被一个团队来执行,该团队的每一个 成员都可以对项目内的文件进行管理和同步,这样就可以保持大家永远 on the same page。
举例说明,只需 4 步在 Ubuntu 上搭建 Subversion 服务器。
一、搭建 Subversion 服务器
1、首先需要安装 subversion 这个软件:
sudo apt-get install subversion
2、在 /home/nicky 下建立一个 repo,名称为 testproject:
svnadmin create /home/nicky/testproject
3、然后把 /fun/theme 目录下的内容导入到这个 repo 中:
svn import -m "" /fun/theme file:///home/nicky/testproject
4、最后给这个 repo 建立一个 svn 自带的 svnserve:
svnserve -d -r /home/nicky/testprojec
另外:如果需要设定用户的验证和相应的权限,请看这里 。
二、使用 Subversion
1、你可以使用下面的命令来获得一个 wc,如把它取名为 projecout。
svn checkout svn://127.0.0.1/ projecout
或者简写为:
svn co svn://127.0.0.1/ projecout
2、如果需要将修改从 wc 中发送到 repo。
先到 wc 所在目录,然后使用下面的命令将修改发送到 repo:
svn commit -m "note"
三、常用命令:
取出指定版本,如取出版本 2:
svn checkout --revision 2 svn://....
显示提交日志信息:
svn log
显示库中的最新信息:
svn log --revision HEAD