百科摘要:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。SVN版本控制器。
检查rpm包是否安装:
[root@test db]# rpm -qa|grep subversion
subversion-javahl-1.6.11-7.el6.x86_64
subversion-1.6.11-7.el6.x86_64
添加环境变量(包括root及svn用户):
vim .bash_profile
export EDITOR=vim
####库服务器的创建####
建立版本库目录
mkdir /repos
建立版本库
svnadmin create /repos/love
创建库组权限
groupadd love
修改库文档存放路径的组及权限
chgrp -R love /repos/love/db/
chmod -R g+w /repos/love/db/
chmod 2770 /repos/love/db/
导库,
进入需要导库的目录下,执行以下命令,当前目录下的文件或目录将被全部导入库
svn import file:///repos/love/
####本地用户对库的应用####
创建需要使用库的用户
#useradd john -G love
#useradd james -G love
在用户下,同步库中的所有内容
[john@test ~]$svn checkout file:///repos/love/
A love/mysql_db_portal_20140721.sql
A love/mysql_db_ua_20140721.sql
取出版本 1。
可以看出,库中的内容已被同步到用户本地
[john@test love]$ ls
mysql_db_portal_20140721.sql mysql_db_ua_20140721.sql
[john@test love]$ pwd
/home/john/love
客户端用户将本地数据同步到库服务器
如本地修改的文件是mysql.sql
[john@test love]$ svn commit mysql.sql
当不带文件名,直接执行svn commit,将同步当前目录下的所有内容
客户端用户更新库服务器数据到本地数据
[james@test love]$ svn update
客户端添加文件到本地,并上传到库服务器
将需添加的文件复制到本地love目录下
[james@test love]$ cp /etc/fstab ./
将fstab添加到本地的svn库中
[james@test love]$ svn add fstab
将本地的svn库中新增的fstab文件同步到库服务器
[james@test love]$ svn commit fstab
客户端删除本地文件,并同步到库服务器
将fstab文件从本地删除
[james@test love]$ svn delete fstab
将本地操作同步到库服务器
[james@test love]$ svn commit fstab
客户端本地文件被误操作,在commit之前可以后悔,将库服务器上的文件重新同步到本地
[james@test love]$ svn revert fstab