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