ubuntu12.04lts SVN服务器构建

 ubuntu12.04lts SVN服务器构建

一.安装SVN和配置SVN

1.安装SVN

apt-get install subversion

2.创建/usr/local/svn目录,项目目录,和配置文件目录

mkdir /usr/local/svn

mkdir /usr/local/svn/project

mkdir /usr/local/svn/conf

3.创建配置和认证文件

(----------/usr/local/svn/conf/svnserve.conf------------)

[general]

anon-access=read     //如果不想让匿名用户下载,则改成none

auth-access=write

password-db=passwd

authz-db=authz

其中anon-accessauth-access分别为匿名和有权用户的权限,默认给匿名用户只读。

(----------/usr/local/svn/conf/passwd---------)

[users]

user1=123456

user2=123456

user3=123456

(----------/usr/local/svn/conf/authz---------)

[groups]

group1=user1,user2

group2=user3

[/]

@group1=rw

*=r

这里设置了三个用户user1user2user3密码都是123456

其中user1user2属于group1组,有读和写的权限,user3属于group2组只有读的权限。

4.修改文件执行权限

chmod +x /usr/local/svn/conf/authz

chmod +x /usr/local/svn/conf/passwd

chmod +x /usr/local/svn/conf/svnserve.conf

5.编写启动SVN服务器的脚本

(----------/usr/local/svn/svn_start.sh----------)

#!/bin/sh

/usr/bin/svnserve -d -r /usr/local/svn/project --config-file /usr/local/svn/conf/svnserve.conf

加入执行权限 chmod +x /usr/local/svn/svn_start.sh

6.启动SVN服务器

cd /usr/local/svn/

./svn_start.sh

注意:svn服务程序是一个守护进程,其在后台运行。

创建SVN仓库并检出

1.创建SVN仓库

svnadmin create /usr/local/svn/project/test

此时在/usr/local/svn/project/test目录下有如下文件

conf db format hooks locks README.txt

2.linux一般自带有svn客户端程序,例如我的svn服务器部署在192.168.0.100上,则检出的命令为:

svn checkout svn://192.168.0.100/test          ##简写:svn co

使用ls -a查看导出的test目录,可以看到其中包含一个.svn的隐藏目录,这个目录中存放着svn版本管理的一些数据。

. SVN中相关命令

1.往版本库中添加新的文件

svn add test.php

2.将改动的文件提交到版本库

svn commit -m add test file for my test test.php      ##简写:svn ci

3.加锁/解锁

svn lock -m lock test file test.php

svn unlock test.php

4.更新版本

##更新到最新版本

svn update test.php   ##简写: svn up

##更新到指定版本

svn update -r 200 test.php

5.查看文件或者目录状态

##查看目录下的文件和子目录的状态(正常不显示)

svn status path     ##简写: svn st

## ?:  不再svn的控制中

## M: 内容被修改

## C: 发生冲突

## A: 预定加入到版本库

## K: 被锁定

##查看目录下所有的文件和子目录的状态

svn status -v path

第一列为最高版本号,第二列为当前工作版本号,第三列最后修改人,第四列文件路径。

6.删除文件

svn delete test.php -m delete test file    ##简写: svn (del, remove, rm)

7.查看文件的所有修改日志

svn log test.php

8.查看文件详细信息

svn info test.php

9.比较差异

##将修改的文件与基础版本比较

svn diff test.php    ##简写:svn di

##比较两个版本之间的差异

svn diff -r 200:201 test.php

10.将两个版本之间的差异合并到当前文件

svn merge -r 200:201 test.php   ##一般都会产生冲突,需要处理一下

11.SVN帮助

svn help

12.版本库下的文件和目录列表

svn list path    ##简写:svn ls

13.创建纳入版本控制下的新目录

svn mkdir

14.恢复本地修改

svn revert   ##该命令不会恢复被删除的目录

15.代码库URL变更

svn switch

16.解决冲突

svn resolved

17.输出指定版本的文件

svn cat -r PREV test.php > test2.php   ##PREV是上一版本,也可以写具体版本号

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(SVN,版本管理)