忽然之间的博客

Thoughts, stories and ideas.

svn常用命令整理

svn安装与配置

  • 安装
yum install subversion
  • 查看安装位置
rpm -ql subversion
  • 查看使用方法
svn help
  • 创建版本库目录
mkdir -p /var/svn/svnrepos
  • 创建版本库
svnadmin create /var/svn/svnrepos

cd /var/svn/svnrepos

ls -l 

cd conf

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

  • 设置账号密码
vi passwd

在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan

  • 设置权限
vi authz

#在末尾添加如下代码:

[/]
dan=rw
w=r

意思是版本库的根目录dan对其有读写权限,w只有读权限。

  • 修改svnserve.conf文件
vi svnserve.conf

#打开下面的几个注释:

anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
  • 启动svn版本库
svnserve -d -r /var/svn/svnrepos

svn 使用命令

  • 将文件checkout到本地
svn checkout path

#例如
svn checkout svn://host/project/www

#简写
svn co path

  • 向版本库添加新的文件
svn add file1.php   #添加file1.php
svn add *.php       #添加当前目录下所有文件
  • 提交版本库
svn commit -m "comment" 
svn ci          #简写
  • 锁定操作
svn lock -m "lockMessage" PATH
svn unlock PATH
  • 更新版本
svn update #更新当前目录及子目录文件到最新版本
svn update -r 200 test.php #test文件还原到版本200
svn up      #简写
  • 查看文件或目录状态
svn status path
svn st      #简写
  • 删除
svn delete path -m "comment"

#或

svn delete file 
svn ci -m "comment"

svn (del, remove, rm)   #简写
  • 查看日志
svn log path
  • 查看文件信息
svn info path
  • 比较差异
svn diff path

svn diff -r 200:201 file    # 版本200 和 201 比较

svn di      #简写

  • 合并
svn merge -r v1:v2 path

  • 查看帮助
svn help 
svn help ci