一.安装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=

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.0.0:* LISTEN /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 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 : test.php

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

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

Ubuntu12.04 SVN安装过程的更多相关文章

  1. Modelsim6.5在Ubuntu12.04的安装过程

    注:本人是在虚拟机Ubuntu12.04安装成功的,但是在虚拟机Ubuntu11.10却没有安装成功,具体原因至今未详,以后如果知道再补充吧.本博文主要的参考博文是http://blog.csdn.n ...

  2. 在vmware 6.5+ubuntu12.04上安装VMware tools出现问题的分析

    笔者已经写了一篇关于安装"VMware Tools",以实现文件共享的文章,那篇文章对于你实现共享操作是足够了, 所以,倘若你赶时间不如直接去在虚拟机的linux中利用VMware ...

  3. Ubuntu12.04下安装sourcenavigator-NG4.5阅读源代码

    大家知道Windows下有一个很好的查看源代码的软件sourceinsight,使用sourceinsight查看Linux内核代码.嵌入式软件开发中的C语言项目源代码.驱动程序代码很是方便.在Lin ...

  4. 阿里云ubuntu12.04下安装使用mongodb

    阿里云ubuntu12.04下安装mongodb   apt-get install mongodb 阿里云ubuntu12.04下卸载mongodb,同时删除配置文件     apt-get pur ...

  5. Ubuntu14.04 Tomcat 安装过程记录

    Ubuntu14.04 Tomcat 安装过程记录 检查java的版本 zhousp@ubuntu:~$ sudo java -version [sudo] password for zhousp: ...

  6. ubuntu-12.04.4-alternate-i386安装

    Ubuntu-12.04.4安装 0.网络配置环境: 1. 选择中文简体. 2.选择第一个,安装ubuntu . 3.询问是否安装所选择的语言版本,选择yes. 4.选择“否”默认键盘布局,选择 no ...

  7. ubuntu10.04 svn安装方法

    ubuntu10.04 svn安装方法:sudo apt-get install subversion sudo apt-get install libneon27-dev orsudo apt-ge ...

  8. ubuntu12.04 svn ssl错误

    1,ubuntu12.04 svn ssl错误提示: OPTIONS of '<url>': SSL handshake failed: SSL error: Key usage viol ...

  9. 在ubuntu12.04上安装6款顶级漂亮的BURG主题

    BURG 基本上是一个基于GRUB的Linux引导装载程序.BURG格有一个高度可配置的菜单系统,可选择文本和图形模式.简而言之,BURG可广泛定制,有良好免费的BURG主题.选择自己最喜欢的,下面我 ...

随机推荐

  1. Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again YUM报错

        1.挂盘 ----- 2.# mount /dev/sr0 /media/ mount: block device /dev/sr0 is write-protected, mounting ...

  2. JS中通过数组的方式操作字符串 数组是个好东西 ....

    题目:使用JS将 var str="what are you nong sha lei",通过您的方法转换为"What Are You Nong Sha Lei" ...

  3. 《剑指Offer》题三十一~题四十

    三十一.栈的压入.弹出序列 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的数字均不相等.例如,序列{1, 2, 3, 4 ,5}是某栈的压栈序列 ...

  4. Fox and Number Game

    Fox Ciel is playing a game with numbers now. Ciel has n positive integers: x1, x2, ..., xn. She can ...

  5. Java 继承和访问控制

    类的继承 Java中使用extends来实现继承 通过继承,子类自动拥有了基类(supercalss)的所有成员. Java只支持单继承,一个子类只允许有一个基类,一个基类可以有多个子类. class ...

  6. DAY3敏捷冲刺

    站立式会议 工作安排 (1)服务器配置 (2)数据库配置 燃尽图 燃尽图有误,已重新修改,先贴卡片的界面,后面补修改后燃尽图 代码提交记录

  7. 总结get和post区别

    参考博文: 浅谈HTTP中Get与Post的区别 1. 数据传递方向: Get是向服务器发索取数据的一种请求,Post是向服务器提交数据的一种请求 (都是请求,并不是一个取一个发) Get:①用于获取 ...

  8. DDB与DIB

    DB与DIB的区别是什么?觉得书上介绍的有点抽象.不容易理解.他们两者之间的区别的“物理意义” [“现实意义”]——姑且这么叫吧,呵呵!被这个问题困扰了很久,所以今天决定好好查资料总结一下,把它彻底搞 ...

  9. week1 技术随笔

    类别c 内容c 开始时间s 结束时间e 被打断时间I 总计(min) 9.5 随笔 构建之法福后感 22:00 24:00 7 113 9.6 分析 需求分析 9:00 9:30 2 28 编码 词频 ...

  10. java数据结构-HashMap

    一直以来似乎都有一个错觉,认为map跟其他的集合类一样继承自Collection,其实不然,Map和Collection在结构层次上是没有任何关系的,通过查看源码可以发现map所有操作都是基于key- ...