语法: svn <subcommand> [options] [args]
      使用“svn help <subcommand>” 显示子命令的帮助信息。
      使用“svn --version”查看程序的版本号和版本库访问模块,或者
      使用“svn --version --quiet”只查看程序的版本号。

1.【检出】将文件checkout到本地目录
   将“项目版本库”检出到/wwwroot目录(不存在就创建)
   # svn checkout svn://192.168.1.xx:3690/martinZFsvn/wwwroot
   简写:svn co

注:第一次登陆svn服务器会将密码信息存放在用户路径下的.subversion文件夹下,路径为/root/.subversion/

2.【添加】向版本库添加新文件
   # echo 'myaddfile.....' > svnaddfile.txt  新创建了一个文件
   # svn add svnaddfile.txt                  将新文件svnaddfile.txt添加到版本库
   # svn add *.php                           将当前目录的所有php文件添加到版本库

3.【提交】将改动的文件提交到版本库
   svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
              -m 参数表示“最近信息”内容,相当于是每次提交新版本的备注信息

# svn commit -m 'add test file for my test' svnaddfile.txt 将svnaddfile.txt文件提交到版本库
   简写:svn ci

4.【更新】将本地文件更新到某个版本
   svn update -r m path

例如:
   svn update 如果后面没有目录,默认将当前目录及子目录下的所有文件都更新到最新版本
   # svn update                       更新整个目录
   # svn update newdir                更新newdir目录(这个目录可以是已经存在的,也可是新添加的)
   # svn update ./svnaddfile.txt      更新当前目录的svnaddfile.txt,如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit。
   # svn update -r 8 ./svnaddfile.txt 更新svnaddfile.txt还原到版本8
   简写:up

5.【删除文件】
   svn delete PATH -m 'delete test file,'
   # svn delete ./grptest11/test111.txt

或者直接 # svn delete ./grptest11/test111.txt 然后再 # svn ci -m 'delete test file' 推荐使用这种

简写:svn (del, remove, rm)

6.【加锁/解锁】
   svn lock -m 'LockMessage' [--force] PATH

# svn lock -m '我现在修改这个文件,其他人先别改哦' svnaddfile.txt  //对svnaddfile.txt加锁

svn unlock PATH 解锁

7.查看文件或目录状态
  svn status PATH (检查PATH目录下的文件和子目录的状态,正常状态不显示)
  注:?:表示不在svn的控制中; M:表示内容被修改; C:表示发生冲突; A:表示预定加入到版本库; K:表示被锁定

svn status -v PATH (显示文件和子目录状态)
  第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
  注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

简写:svn st

8.查看日志
  svn log PATH
  例如:# svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9.查看文件详细信息
  svn info PATH
  例如:# svn info svnaddfile.txt

10.比较差异
  svn diff PATH (将被修改的文件与基础版比较)
  例如:# svn diff svnaddfile.txt

svn diff -r m:n path(对版本m和版本n比较差异)
  例如:# svn diff -r 8:12 svnaddfile.txt

简写:svn di

11.将两个版本之间的差异合并到当前文件
  svn merge -r m:n PATH
  例如:# svn merge -r 8:12 svnaddfile.txt (将版本8与12之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12.【帮助】
    # svn help
    # svn help ci
    # svn help up

------------------------------------------------------------------------------------------------------

13.版本库下的文件和目录列表
   例如:svn list path
   简写:svn ls

14.创建纳入版本控制下的新目录
   用法:1.# mkdir PATH
         2.# mkdir URL

创建版本控制的目录。
   1.每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。
   2.每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在。

15.恢复本地修改
   svn revert 恢复原始未改变的工作副本文件(恢复大部分的本地个性) revert
   用法:# svn revert PATH

注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录

16.代码库URL变更
   svn switch (sw): 更新工作副本至不同的URL。
   用法: 1、switch URL [PATH]
         2、switch --relocate FROM TO [PATH...]
   1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。
   2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。

17.解决冲突
   svn resolved: 移除工作副本的目录或文件的“冲突”状态。
   用法: resolved PATH...
   注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。

18.输出指定文件或URL的内容
   svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。
   svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

注:大多数的子命令可接受文件或目录参数,对目录进行递归处理。如果没有指定参数,默认对当前目录(包含当前目录)递归处理。

可用子命令:
   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)     检出
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mergeinfo
   mkdir
   move (mv, rename, ren)
   patch
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   relocate
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)
   upgrade

参考文档
http://blog.chinaunix.net/uid-22150747-id-189264.html
http://blog.163.com/kingna_jin/blog/static/32488347200868858899/
http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076783.html

subversion(SVN)常规使用的更多相关文章

  1. subversion(SVN)安装配置

    简介subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.Subversion是一个版本控制系统,相对于的RCS. ...

  2. subversion SVN

    subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件. Subversion是一个版本控制系统,相对于的RCS.C ...

  3. linux-centos下源代码安装subversion (svn)

    1.svn的源代码 1.1 可以在官方下载,官方地址 :svn 1.6.17源码包  http://subversion.tigris.org/servlets/ProjectDocumentList ...

  4. centos 配置subversion svn

    Subversion是一个自由,开源的版本控制系统. 1.安装: yum install subversion 2.配置 mkdir -p /var/svn/svnrepos #新建文件夹 svnad ...

  5. SubVersion(SVN)的安装配置使用

    一. SubVersion服务器端安装 安装软件:Setup-Subversion-1.6.4.msi,下载地址:http://subversion.tigris.org/servlets/Proje ...

  6. Notepad++集成Subversion SVN插件

    点击Plugin –> Plugin Manager –> Show Plugin Manager 打开后,在“Available”页找到“Subversion”,然后点击“Install ...

  7. CentOS下Subversion(SVN)的快速安装与配置

    如果你是一个软件开发者,你一定对Subversion不会感到陌生.Subversion是一个自由开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放 ...

  8. subversion(SVN)服务配置及使用方法

      1.安装 yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql -y 2.查看版本 svnserve --vers ...

  9. 使用 Subversion (SVN) 的方式来访问 Github(转)

    [转至]:http://www.open-open.com/lib/view/open1340760267717.html

随机推荐

  1. Bootstrap,Font Awesome等组件中 .woff字体报404错的解决办法

    参考资料:http://www.zhidao91.com/glyphicons-halflings-regular-woff-404-not-found/ http://shiyousan.com/p ...

  2. 【MySQL】分页优化

    前段时间由于项目的原因,对一个由于分页而造成性能较差的SQL进行优化,现在将优化过程中学习到关于分页优化的知识跟大家简单分享下. 分页不外乎limit,offset,在这两个关键字中,limit其实不 ...

  3. asp.net解决高并发的方案.[转]

    最近几天一直在读代震军的博客,他是Discuz!NT的设计者,读了他的一系列关于Discuz!NT的架构设计文章,大呼过瘾,特别是Discuz!NT在解决高访问高并发时所设计的一系列方案,本人尤其感兴 ...

  4. 使用PowerDesigner把oom设计图导出jpg格式的图片

    1: 按住Shift键点击鼠标选择要导出的对象,必须先选择. 2: 选择Edit—>Export Image 到出你需要的格式,如下图

  5. 在IT行业换一个领域

    开发做了不到两个月,就不做了.原因是自己不喜欢开发,感觉开发的东西很麻烦.也许说到麻烦,很多人都要教训我了,干什么不麻烦.我也不想反驳什么,因为失败的次数太多了,反驳也无力. 从放弃开发开始到现在,抑 ...

  6. ajaxReturn

    controller:$info=array('error'=>0,'msg'=>'');if($user_info){    if($user_info['is_lock']){     ...

  7. 使用NUget发布自己的dll(转)

    一:Nuget控制台有几个常用命令 Get-Package 获取当前项目已经安装的类库 Install-Package 安装指定类库,命令格式如下:Install-Package 类库ID,示例:PM ...

  8. 使用compass编译sass

    1.初始化项目 compass create test(项目名称),会在当前目录下创建test子目录,test的子目录下有config.gb文件,sass和stylesheets文件夹. 2.编写sa ...

  9. CentOS配置SVN服务器

    系统环境:CentOS系统:CentOS 6.5 1.检查是否安装了低版本的SVN rpm -qa subversion 2.卸载旧版本SVN yum remove subversion 3.安装SV ...

  10. Solaris 自动挂载

    修改文件:vim /etc/vfstab添加命令:/dev/dsk/c2t0d0p0:1             -               /media/PARTITION1    pcfs   ...