svn 命令行 备忘

开发人员常用命令

导入项目
svn import http://svn.chinasvn.com:82/pthread --message "Start project"

导出项目
svn checkout http://svn.chinasvn.com:82/pthread

采用 export 的方式来导出一份干净的项目
svn export http://svn.chinasvn.com:82/pthread pthread

为失败的事务清场
svn cleanup

在本地进行代码修改,检查修改状态
svn status -v
svn diff

更新(update)服务器数据到本地
svn update directory
svn update file

增加(add)本地数据到服务器
svn add file.c
svn add dir

对文件进行改名和删除
svn mv b.c bb.c
svn rm d.c

提交(commit)本地文档到服务器
svn commit
svn ci
svn ci -m "commit"

查看日志
svn log directory
svn log file

svn checkout url[@version] [path]

如果不跟path,则checkout到当前路径,以url中最后一个路径名作为检出文件名

如果有path,则为path的最后路径名为检出文件名

 

Svn add

add: 把文件和目录纳入版本控制,通过调度加到版本库。它们会在下一次提交时加入。

用法: add 路径...

 

 

Svn del

delete (del, remove, rm): 从版本库中删除文件和目录。

用法: 1delete PATH...

      2delete URL...

 

  1、每个 PATH 指定的项目会被调度到下次提交时从版本库删除。除非给出

    --keep-local 参数,工作副本中没有提交的文件和目录会被立即删除。

    如果 PATH 是未版本控制或者已修改的项目,或者包含这些项目,那么仅当

    给出 --force 参数时这些项目才会被删除。

 

  2、每个 UR L指定的项目会通过立即提交从版本库中删除。

 

Svn status

status (stat, st): 显示工作副本中目录与文件的状态。

用法: status [PATH...]

 

  未指定参数时,只显示本地修改的条目(没有网络访问)

  使用 -q 时,只显示本地修改条目的摘要信息。

  使用 -u 时,增加工作版本和服务器上版本过期信息。

  使用 -v 时,显示每个条目的完整版本信息。

 

 

 

 

 

冲突

1Svn update

 

<<<<<<< .mine

 * wuzhong haha 2                       本地代码块

=======

 * wuzhong hello world                    svn v27版本代码块

>>>>>>> .r72

 */

 

2 . svn resolved path

3. svn commit –m “***”

 

 

Svn log –v [PATH]

 

Svn diff

用法: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...]

      2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \

               [PATH...]

       3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]

 

  1、显示版本 REV TARGET 在两个不同的版本之间的差异。TARGET 要么全是

     工作副本路径,要么全是 URL。如果 TARGET 是工作副本路径,N 默认为

     BASEM 默认为工作副本;如果 TARGET URLN 必须指定, M 默认为 HEAD

    -c M” 等价于 “-r M-1:M”,“-c -M” 等价于 “-r M:M-1”。

 

  2、显示新旧版本中对应目标的差异。PATH 是相对于新旧目标的相对路径,

     它限制只输出这些路径上的差异。新旧目标可以是工作副本路径或地址 URL[@REV]

     新目标默认与旧目标相同,OLDREV 默认为 NNEWREV 默认为 M

 

  3、“svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]” 的简写。

 

     使用不加参数的 “svn diff” 显示工作副本中的本地修改。

 

有效选项:

  -r [--revision] ARG      : ARG (一些命令也接受ARG1:ARG2范围)

                             版本参数可以是如下之一:

                                NUMBER       版本号

                                '{' DATE '}' 在指定时间以后的版本

                                'HEAD'       版本库中的最新版本

                                'BASE'       工作副本的基线版本

                                'COMMITTED'  最后提交或基线之前

                                'PREV'       COMMITTED的前一版本

  -c [--change] ARG        : ARG版本(如同 -r ARG-1:ARG)作的修改

                             如果ARG为负数则等价于 -r ARG:ARG-1

  --old ARG                : 使用 ARG 作为旧目标

  --new ARG                : 使用 ARG 作为新目标

  -N [--non-recursive]     : 过时;尝试 --depth=files --depth=immediates

 

Svn merge

merge: 将两个源差异应用至工作副本。

用法:  1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH]

       2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]

       3. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [WCPATH]

 

  1、第一种形式中,源 URL 的版本 N M 作为比较的来源。如果没有指定版本,默认

     HEAD

 

  2、在第二种形式中,两个源工作副本路径对应的版本库中的 URL 作为比较的来源。这

     里必须指定版本。

 

  3、第三种形式中,SOURCE 可为 URL 或工作副本中的路径(后者会使用版本库中对应

     URL)。比较版本为 REV SOURCE,就像它在版本 N M 存在一样。如果没

     有给出 REV,默之认为 HEAD。选项 “-c M” 等价于 “-r <M-1>:M”,“-c -M” 与

     相反,等价于 “-r M:<M-1>”。如果没有指定版本范围,默认为 0:REV。可以指定

     多个 “-c” 或 “-r”,并且可以混合使用向前范围或向后范围。

 

  WCPATH 是接收修改的工作副本路径。如果省略了 WCPATH,默认为 “.”,除非来源中

  有与当前目录内同名的文件,这时修改会直接应用至该文件。

 

  注意:  Subversion 只有当两个合并源有继承关系的时候才会内部跟踪合并操作的源数

  -- 即如果第一个合并源是第二个的祖先,或者相反。在上述的第三种形式中,已经

  保证了满足条件。选项 --ignore-ancestry 忽略继承关系,强制 Subversion 认为合并

  源之间没有关系,不跟踪本次合并。

 

Svn mkdir

svn mkdir svn://www.svnhost.cn/wuzhong/giant/brunches/shell -m "mk shell dir"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值