svn 回退/更新/取消至某个版本命令详解【转】

转自:http://www.cnblogs.com/mfryf/p/4654110.html

1. 取消Add/Delete

取消文件

svn revert 文件名

取消目录

svn revert --depth=infinity 目录名

2. 回退版本

方法1: 用svn merge

1) 先 svn up,保证更新到最新的版本,如20;

2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如10 。如果想要更详细的了解情况,可以使用svn diff -r 10:20 [文件或目录];

3) 回滚到版本号10:svn merge -r 20:10 [文件或目录],注意版本号之间的顺序,这个叫反向合并;

4) 查看当前工作版本中的文件,如test.cpp和版本号10中文件的差别:svn diff -r 10 test.cpp, 有差别则手动改之;

5) 若无差别,则提交:svn ci -m“back to r 10,xxxxx” [文件或目录]。这时svn库中会生成新的版本,如21。

方法2: 用svn up

前2步如方法1,然后直接 svn up -r 10。当前的工作版本就是版本10了。但是注意,这时svn库中并不会生成新的版本,下次svn up之后,还是会回到当前的版本。

========================

改动已经被提交(commit)。

用svn merge命令来进行回滚。

回滚的操作过程如下:

1、保证我们拿到的是最新代码:

svn update

假设最新版本号是28。

2、然后找出要回滚的确切版本号:

svn log

假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件、目录或整个项目

如果想要更详细的了解情况,可以使用svn diff -r 28:25 ""

3、回滚到版本号25:

svn merge -r 28:25 ""

为了保险起见,再次确认回滚的结果:

svn diff ""

发现正确无误,提交。

4、提交回滚:

svn commit -m "Revert revision from r28 to r25,because of ..."

提交后版本变成了29。

将以上操作总结为三条如下:

1. svn update,svn log,找到最新版本(latest revision)

2. 找到自己想要回滚的版本号(rollbak revision)

3. 用svn merge来回滚: svn merge -r : something

更新至某个版本

svn update -r 版本号

svn help update

update (up): 将版本库的修改合并到工作副本中。

用法: update [PATH...]

如果没有指定版本,则将工作副本更新到 HEAD 版本。否则同步到 -r 选项所

指定的版本。

每更新一项就输出一行信息,使用首字符来报告执行的动作。这些字符的含义是:

A 已添加

D 已删除

U 已更新

C 合并冲突

G 合并成功

E 已存在

R 已替换

第一列字符报告项目本身。

第二列表示报告项目属性。

第三列中的字符“B”表示此文件上的锁被终止或窃取。

第四列中的字符“C”表示树冲突,同时“C”出现在第一列或第二列,分别表示

内容冲突或属性冲突。

如果使用了 “--force” 选项,在工作副本中未版本控制的障碍路径,不会自动

导致签出失败。 如果障碍路径与版本库中的对应路径类型相同(文件或目录),它

将成为受版本控制的路径,但是内容不改变。它意味着障碍路径的子孙,也可能

是障碍路径,同样会受版本控制。对于障碍路径中的文件,如果与版本库内的

不同,将视为工作副本发生本地修改。版本库中的所有属性都应用于障碍路径。

用第一列字符 “E” 来报告障碍路径。

如果工作副本中并没有指定的更新目标,但是有其父目录,那么就在指定路径上

将目标检出到其父目录中。如果使用了选项 --parents,就会创建目标的所有不

存在的父目录 (使用选项 --depth=empty)。

使用“--set-depth”选项设置此操作目标的工作副本之新深度。

有效选项:

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

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

NUMBER 版本号

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

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

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

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

'PREV' COMMITTED的前一版本

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

--depth ARG : 限制操作深度是 ARG ('empty', 'files',

'immediates', 或 'infinity')

--set-depth ARG : 设置工作副本的新深度为 ARG('exclude',

'empty', 'files', 'immediates', 或 'infinity')

-q [--quiet] : 不打印信息,或只打印概要信息

--diff3-cmd ARG : 使用 ARG 作为合并命令

--force : 强制操作运行

--ignore-externals : 忽略外部项目

--changelist [--cl] ARG : 只能对修改列表 ARG 的成员操作

--editor-cmd ARG : 使用 ARG 作为外部编辑器

--accept ARG : 指定自动解决冲突动作

('postpone', 'working', 'base', 'mine-conflict',

'theirs-conflict', 'mine-full', 'theirs-full',

'edit', 'launch')

(shorthand: 'p', 'mc', 'tc', 'mf', 'tf', 'e', 'l')

--parents : 创建中间目录

全局选项:

--username ARG : 指定用户名称 ARG

--password ARG : 指定密码 ARG

--no-auth-cache : 不要缓存用户认证令牌

--non-interactive : 不要交互提示

--trust-server-cert : 不提示的接受未知的证书颁发机构发行的 SSL 服务器证书(只用于选项 “--non-interactive”)

--config-dir ARG : 从目录 ARG 读取用户配置文件

--config-option ARG : 以下属格式设置用户配置选项:

FILE:SECTION:OPTION=[VALUE]

例如:

servers:global:http-library=serf

时间: 2024-09-23 22:16:23

svn 回退/更新/取消至某个版本命令详解【转】的相关文章

Linux中关机命令详解

在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的. 一.常用命令 重启命令 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 若通过shutdown命令设置重启的话,可以用shutdown -c命

【OS】AIX之topas命令详解

[OS]AIX之topas命令详解 AIX基本命令topas简介 Posted on 2015 年 11 月 11 日 by xiaoyu 由于最近工作需要涉及到AIX主机.存储层面,就对这方面的内容做个简要的笔记,以供后续参考. topas命令利用System Performance Measurement Interface(SPMI) API获得有关信息,使系统开销保持最小程度,topas命令用于监控各种系统资源,比如cpu使用情况.内存和换页空间.磁盘性能.网络性能以及NFS统计信息等

【区块链】量子链命令行qtum-cli全命令详解

量子链命令行qtum-cli全命令详解 == Blockchain == callcontract "address" "data" ( address ) 调用智能合约 getaccountinfo "address" 获取账户信息 getbestblockhash 获取最长链的hash getblock "blockhash" ( verbose ) 获取块的信息 getblockchaininfo 获取区块的信息 { &

HBase shell基础和常用命令详解

http://www.aliyun.com/zixun/aggregation/13713.html">HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的

Linux系统命令中screen命令详解_Linux

前言 对于执行长时间命令(如大文件运输)而言,为了不让它终止,都会开启一个远程登陆会话窗口来单独运行这样的命令.在此期间,不能关闭远程登录会话窗口或者断开连接,否则前功尽弃.这时候screen命令就派上用场了. Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换.GNU Screen可以看作是窗口管理器的命令行界面版本.它提供了统一的管理多个会话的界面和相应的功能. 下面来介绍下我最常用的screen命令(仅限

Linux下的压缩解压缩命令详解

linux zip命令 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中

BAT批处理之文件与文件夹操作代码(附xcopy命令详解)_DOS/BAT

批处理中的文件.文件夹操作,xcopy命令的用法. 一,建bat文件自动执行复制,删除命令. 例1:复制cd.dll文件至windows\system32的bat文件内容: 复制代码 代码如下: copy cd.dll %windir%\system32 例2:卸载windows\system32目录中的cd.dll,即把上面复制的文件删除: 复制代码 代码如下: del %windir%\system32\cd.dll 例3:删除download文件夹中的文件,例子如下: 复制代码 代码如下:

linux zip/unzip命令详解_Linux

最近整理了linux zip/unzip命令,具体如下: 命令名: zip 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>] 补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".z

sqlserver bcp(数据导入导出工具)一般用法与命令详解_MsSql

bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据.bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出.在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中.下面将详细讨论如何利用bcp导入导出数据. 1. bcp的主要参数介绍 bcp共有四个动作可以选择. (1) 导入. 这个动作使用in命令完成,后面跟