安装,略过。

快速创建、配置及启动项目

创建项目

svnadmin create /home/svn/project_name     #创建名为project_name的项目(/home/svn为自定义创建的目录)

#修改配置文件
[root@localhost project_name]# cat conf/svnserve.conf |grep -v "^$\|^#"
[general]
anon-access = none              #修改为none,read或者write都不能用
auth-access = write              #这里不用改动
password-db = passwd             #这里文件路径为默认当前conf的路径,可以指定到别的路径,用来存放用户名和密码
authz-db = authz                #同上,用来设置项目的访问路径及用户权限
realm = project_name              #这里设置项目地址后的项目路径,名称要与创建的项目名称相同
[sasl]

[root@localhost flagship]# cat conf/authz |grep -v "^$\|^#"
[aliases]
[groups]
adminxxx = admin              #adminxxx为自定义的别名,用来在指定权限的时候使用,admin 为在passwd里创建的用户名 [flagship:/]                #设定访问路径,这里指定的为 “/”,表示访问路径为 svn://ip/project_name
@adminxxx = rw               #用户权限为读写
[flagship:/03技术文档]           #相当于在项目里新建了03技术文档这个文件夹,这里这样设置,访问时,地址为 svn://ip/project_name/03技术文档
@kaifa = rw
@ceshi = r [root@localhost flagship]# cat conf/passwd |grep -v "^$\|^#"
[users]
admin = admin            #用户名和密码

启动项目

svnserve -d -r /home/svn/ --listen-port     #设置监听的端口,一般情况下,/home/svn目录会有多个svn项目
svnserve -d -r /home/svn/xxp2p       ##默认监听3690 端口启动

使用及备份

检出

#直接检出
svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码
svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码 #导出一个不带.svn文件夹的目录树
svn export [-r 版本号] http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn export [-r 版本号] svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn export 本地检出的(即带有.svn文件夹的)目录全路径 要导出的本地目录全路径
如果没有指定版本号,会export最新的 例子:
svn export svn://localhost/测试工具 /home/testtools --username wzhnsc
svn export svn://localhost/test/testapp --username wzhnsc
svn export /home/testapp /home/testtools
#更新到本地
svn update
svn update -r 修正版本 文件名
svn update 文件名

例子:
svn update       #后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本
svn update -r 200 test.cpp   #将版本库中的文件 test.cpp 还原到修正版本(revision)200
svn update test.php     #更新与版本库同步。提交的时候提示过期冲突,需要先 update 修改文件,然后清除svn resolved,最后再提交commit。

上传

##添加文件
svn add 文件名
svn commint -m "message"

例子:
svn add test.php         #添加test.php
svn commit -m "添加我的测试用test.php" test.php

svn add *.php           #添加当前目录下所有的php文件
svn commit -m "添加我的测试用全部php文件" *.php ##提交
svn commit -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
svn ci -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
必须带上-m参数,参数可以为空,但是必须写上-m

例子:
svn commit -m “提交当前目录下的全部在版本控制下的文件“ * #这个*表示全部文件
svn commit -m “提交我的测试用test.php“ test.php
svn commit -m “提交我的测试用test.php“ -N --no-unlock test.php     #保持锁就用–no-unlock开关

svn ci -m “提交当前目录下的全部在版本控制下的文件“ *       #注意这个*表示全部文件
svn ci -m “提交我的测试用test.php“ test.php
svn ci -m “提交我的测试用test.php“ -N --no-unlock test.php     #保持锁就用–no-unlock开关 #删除
svn delete svn://路径(目录或文件的全路径) -m “删除备注信息文本”
推荐如下操作:
svn delete 文件名
svn ci -m “删除备注信息文本”
例子:
svn delete svn://localhost/testapp/test.php -m “删除测试文件test.php”
推荐如下操作:
svn delete test.php
svn ci -m “删除测试文件test.php”

查看日志

svn log 文件名

例子:
svn log test.php    #显示这个文件的所有修改记录,及其版本号的变化 #查看文件详细信息
svn info 文件名

查看版本库下的文件和目录列表

svn list svn://路径(目录或文件的全路径)
svn ls svn://路径(目录或文件的全路径) 例子:
svn list svn://localhost/test
svn ls svn://localhost/test       #显示svn://localhost/test目录下的所有属于版本库的文件和目录

解决冲突

svn resolved [本地目录全路径]
例子:
$ svn update
C foo.c
Updated to revision .

如果你在更新时得到冲突,你的工作拷贝会产生三个新的文件:
$ ls
foo.c
foo.c.mine
foo.c.r30
foo.c.r31
当你解决了foo.c的冲突,并且准备提交,运行svn resolved让你的工作拷贝知道你已经完成了所有事情。
你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令。

备份

snvlook youngest 项目路径        #查看最新的版本号

svnadmin dump  项目路径  -r 版本号  > doc    #dump最新的版本号到 doc文件 ,如果不指定版本号默认dump所有版本

svnadmin load /home/svndata/doc1 < doc    #恢复doc文件到项目 doc1

例子:
svnadmin dump /home/svn/project_name -r 16111 | gzip > /root/doc.gz    #dump并压缩

svn 基础的更多相关文章

  1. SVN基础操作

    SVN基础操作 安装 #大多数Linux版本自带svn svn --version #如果没有安装可用yum安装 yum install subversion 生命周期 创建版本库 检出 更新 执行变 ...

  2. 版本控制,svn基础,实战案例,RPM打包

                                                   版本控制,svn基础,实战案例,RPM打包 案例1:Subversion基本操作 案例2:使用Subver ...

  3. SVN - 基础知识

    1. 术语 $ svn checkout  URL [PATH] -----   下载服务器所有文件 (clone) 到本地[path]  --- 只需一次 $ svn checkout  http: ...

  4. SVN基础命令手册

    SVN版本号:1.5 及更新版本号 名词说明: WC:Working Copy 你的工作区 Versioned:受控的:受版本号控制的 SVN是什么? SVN是开源的版本号控制系统. 比CVS很多其它 ...

  5. svn基础了解

    Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的 ...

  6. Tortoise svn 基础知识

    1 不跟踪文件.文件夹 1.1  文件.文件夹已经被svn跟踪 将本地文件.文件夹删除(windows删除文件的删除,快捷键是shift+delete),然后执行svn  update 将服务器同步到 ...

  7. Linux学习心得之 双显卡、中文输入法及svn初步使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 双显卡.中文输入法及svn初步使用 1.前言 2.Linux双显卡解决 ...

  8. SVN是什么,svn的目录结构

    Svn是一个离线的代码管理,可以多个人一起修改,然后再将修改的内容提交到Svn中.每一个svn服务器中的数据存储单位叫做存储,但是你不仅仅可以把整个存储当作你维护的内容,也可以将其中的某个分支目录像根 ...

  9. SVN 基本操作

    SVN基础 一 简介 tortoiseSVN是windows下其中一个非常优秀的SVN客户端工具.通过使用它,我们可以可视化的管理我们的版本库.不过由于它只是一个客户端,所以它不能对版本库进行权限管理 ...

随机推荐

  1. BZOJ4946[Noi2017]蔬菜——线段树+堆+模拟费用流

    题目链接: [Noi2017]蔬菜 题目大意:有$n$种蔬菜,每种蔬菜有$c_{i}$个,每种蔬菜每天有$x_{i}$个单位会坏掉(准确来说每天每种蔬菜坏掉的量是$x_{i}-$当天这种蔬菜卖出量), ...

  2. BZOJ2281[Sdoi2011]黑白棋&BZOJ4550小奇的博弈——DP+nimk游戏

    题目描述 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色不同. 小A可以移动白色 ...

  3. Android 下载App

    转载:http://blog.csdn.net/aicpzl/article/details/52993074 通过DownloadManager来下载APK到本地,下载完成后收到广播再安装APK,可 ...

  4. Basic remains POJ - 2305 同余模 高精度处理

    题意 给出B(10以内大于0)进制下 p (1000位以内)和m(9位以内) 求 p%m 在b进制下等于什么 思路: 可以计算   1e9不会溢出Int所以m在int值以内  先求m  要处理p  每 ...

  5. 大学jsp实验5request,response

    1.request对象的使用 (1)编写一个包含有表单的JSP页面form.jsp,其中包含可以输入姓名和出生地的文本框,提交表单后在另一个页面中显示用户提交的姓名和出生地.请写出相应代码: form ...

  6. Leetcode 80.删除排序数组中的重复项 II By Python

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 ...

  7. awk文本分析工具

    Usage:awk [option] 'program' file ... awk [option] -f progfile file ... [optin]: -F fs 指定输入分隔符,fs可是字 ...

  8. Entity Framework 问题集锦

    作者:疯吻IT 出处:http://fengwenit.cnblogs.com 1. No Entity Framework provider found for the ADO.NET provid ...

  9. 「TJOI2015」组合数学 解题报告

    「TJOI2015」组合数学 这不是个贪心吗? 怎么都最小链覆盖=最大点独立集去了 注意到一个点出度最多只有2,可以贪心一下出度的去向 按读入顺序处理就可以,维护一个\(res_i\)数组,表示上一行 ...

  10. python装饰器中的计时器thd.strat用法

    thd = KThread(target=_new_func, args=(), kwargs=new_kwargs) thd.start() thd.join(seconds) alive = th ...