[SVN]版本控制工具搭建及使用

前言

Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。

SVN相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。

下面我们开始部署SVN

一、安装

访问: http://subversion.apache.org/

[SVN]版本控制工具搭建及使用_第1张图片

[SVN]版本控制工具搭建及使用_第2张图片

Linux执行命令: yum install -y subversion

[SVN]版本控制工具搭建及使用_第3张图片

查看是否安装成功:  svn --version

[SVN]版本控制工具搭建及使用_第4张图片

至此SVN我们就部署完成了

二、创建版本库

创建版本库目录
mkdir -p /var/svn/repository

在版本库目录/var/svn/repository下创建具体项目目录
mkdir pro_oa

创建 SVN 版本库

Linux执行 -> svnadmin create /var/svn/repository/pro_oa

我们可以看下创建版本库后里面生成的文件内容。
[SVN]版本控制工具搭建及使用_第5张图片

三、配置SVN

查询SVN服务名称 svnserve
6

我们可以看到SVN服务名称为svnserve,我们将它设置开机自起

chkconfig --level 35 svnserve on

7

修改配置文件

#配置文件路径  /etc/rc.d/init.d/svnserve
1> 进入目录
cd /etc/rc.d/init.d/
2> 备份文件
cp svnserve svnserve.bak
3> 查询端口是否被占用
netstat -anp | grep 2255
4> vim svnserve
原版
args="--daemon --pid-file=${pidfile} $OPTIONS"
修改版
args="--daemon --root 版本库根目录 --listen-port指定端口号 --pid-file=${pidfile} $OPTIONS"
例如:
#使用/var/svn/repository作为版本库,SVN服务端口为2255
args="--daemon --root /var/svn/repository --listen-port 2255 --pid-file=${pidfile} $OPTIONS"
#使用/var/svn/repository作为版本库,默认使用3690端口
args="--daemon --root /var/svn/repository --pid-file=${pidfile} $OPTIONS"

启动SVN

service svnserve start

8

四、创建两个工作目录模拟SVN版本控制

①检出

mkdir -p /root/workspace/harry
mkdir -p /root/workspace/sally
cd  /root/workspace/harry
svn checkout svn://192.168.211.128/pro_oa ./

[SVN]版本控制工具搭建及使用_第6张图片

注:检出项目时可以不加 ./ 检出的是整个项目(包含项目文件夹),加上./检出的是项目里的所有文件(不包含项目文件夹)

[SVN]版本控制工具搭建及使用_第7张图片

②将某个文件纳入SVN版本控制

svn add xxx.txt 

注: 在commit之前,一定要先执行一次add(一个新文件执行一次即可),否则commit失败

③提交

svn commit -m “日志信息” xxx.txt

注: 必须加上-m 信息,否则提交报错,若不加文件名代表提交当前目录所有文件

④修改权限(我们通过上面的提交命令,发现我们现在并不能提交文件,此时我们需要修改一下匿名访问权限)

#进入SVN版本库目录,修改conf下的svnserve.conf
1> cd  /var/svn/repository/pro_oa/conf/
2> cp svnserve.conf svnserve.conf.bak
3> vim svnserve.conf
#修改匿名访问权限
anon-access = write  (如下图)

[SVN]版本控制工具搭建及使用_第8张图片

⑤查看服务器端文件内容

svn list svn://192.168.211.128/pro_oa

11

⑥更新

svn update xxx.txt

注:可以带文件名xxx.txt 也可以不带,不带更新整个项目

⑦冲突(在更新过程中可能会发生冲突)
13
这里我们输入p选项,然后发现出现了以下文件
[SVN]版本控制工具搭建及使用_第9张图片

解决方案

1> 手动解决 (这里我们采用这种方式解决)
2> 半自动配置

⑧手动解决SVN冲突

1> 手动删除产生的三个文件
2> 修改test.txt冲突的内容

至此SVN服务器就介绍完成了,下面我将会介绍SVN与MyEclipse的集成

你可能感兴趣的:(SVN)