Ubuntu12.04 SVN安装过程

一.安装SVN和配置SVN

1.安装SVN

apt-get install subversion

2.创建SVN目录,项目目录和配置文件目录

mkdir /var/svn



mkdir /var/svn/project



mkdir /var/conf

3.创建认证文件

vim /var/conf/authz
#加入
[/] *= @DEV=rw @basic=r @sync=rw [union:/] chendayi=r [chendayi:/] chendayi=rw [groups] basic=user01

4.创建认证密钥

vim /var/conf/passwd
#加入
[users] user01
=123456

5.创建SVN服务配置文件

vim /var/conf/svnserve.conf
加入
[general] anon
-access = none auth-access = write password-db = passwd authz-db = authz

6.修改文件执行权限

chmod +x  /var/conf/authz



chmod +x  /var/conf/passwd



chmod +x  /var/conf/svnserve.conf

7.写个脚本启动svn

vim /var/svn/svnserver.sh
#加入
#!/bin/sh /usr/bin/svnserve -d -r "/var/svn/project/" --config-file "/var/svn/conf/svnserve.conf"

加入执行权限

chmod +x /var/svn/svnd.sh

8.启动SVN服务器

cd /var/svn/
.svnserver.sh
检查SVN是否启动 netstat
-ntlp tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 15127/svnserve

二、创建svn仓库并检出

1.创建svn仓库

svnadmin create /var/svn/project/test



执行命令后生成以下文件

ls /var/svn/project/test

conf  db  format  hooks  locks  README.txt

2.检出项目到网站目录

cd /var/www



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

三、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 是上一版本,也可以写具体版本号

 

你可能感兴趣的:(ubuntu)