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

svn 回退/更新/取消至某个版本命令详解相关推荐

  1. 查看当前Linux系统的发行版本命令详解

    很简单的一条命令哦,不过就是不太好记忆啦! lsb_release -a 转载于:https://blog.51cto.com/zhengkangkang/1858001

  2. linux find 更新时间,Linux查找find命令详解

    Linux查找–find命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! find命令的格式 find pathname -options [ -print -exec -ok ...] pa ...

  3. 【山外笔记-SVN命令】svn命令详解

    本文打印版文件下载地址 [山外笔记-SVN命令]svn命令详解-打印版.pdf 一.命令简介 svn命令用于Subversion命令行客户端,执行svn相关的操作. 二.命令语法 1.svn语法: ( ...

  4. Linux下面SVN 命令详解

    常用命令 1.帮助命令: help(h) 命令使用:svn help 命令简写:svn h 命令解释:使用这个命令可以看到关于svn所有命令以及简写.有时候有那个命令忘了,可以看看,很有用. 2.往版 ...

  5. linux 更新软件命令 失败,对linux下软件(库)的更新命令详解

    在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区别 pip用来安装来自PyPI( ...

  6. 【山外笔记-SVN命令】svnlook命令详解

    [山外笔记-SVN命令]svnlook命令详解 本文打印版问文件下载地址 [山外笔记-SVN命令]svnlook命令详解-打印版.pdf 一.命令简介 svnlook是检验Subversion版本库不 ...

  7. mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...

  8. 各版本VOS服务的停止、启动和重启命令详解

    各版本VOS服务的停止.启动和重启命令详解 V2.1.6.00 ~ V2.1.8.05 版本 -服务停止 /etc/init.d/vos3000d stop/etc/init.d/mbx3000d s ...

  9. oracle导入导出版本规则,Oracle不同版本间的导入导出命令详解 - wangzhuoyan的专栏 - CSDN博......

    wangzhuoyan的专栏 明月松间照,清泉石上流 登录 注册 欢迎 退出 我的博客 配置 写文章 文章管理 博客首页   全站 当前博客  空间 博客 好友 相册 留言 用户操作 [发私信]  [ ...

  10. git reset 命令详解(一)—— Git 学习笔记 07

    git reset 命令详解(一) 简而言之,git reset 命令是用来将当前 branch 重置到另外一个 commit 的,这个动作可能同时影响到 index 以及 work director ...

最新文章

  1. ERP与GMP结合在药类企业实施及应用
  2. 法国呼叫服务公司Aircall获得800万美元融资
  3. 用putty生成密钥SSH远程登录(解决)
  4. javascript --- 数组实用小技巧
  5. 【空间数据库】ArcSDE 10.7+SQLEXPRESS+ArcServer 10.7.ecp企业级数据库环境搭建
  6. discuz中又拍云在ie8,chrome22下不能上传的问题
  7. Hive SQL中的concat、concat_ws、concat_group列转行,行转列
  8. CMMI5级认证含金量高吗?
  9. 【地图学】高斯-克吕格(Gauss-Kruger)投影原理、应用详解(3°带、6°带)
  10. 计算机在线题库系统,试题库管理系统.doc
  11. linux查询硬盘固件版本,一种Linux系统下批量更新希捷硬盘固件的方法与流程
  12. 使用selenium获取网页源码
  13. BF的数据结构题单-提高组——P1783 海滩防御
  14. 《基于多任务神经网络的语种识别研究》——秦晨光
  15. golang 环境搭建-windows
  16. 计算机找表格,电脑上自带的excel表格不见了怎么办
  17. 程序员怎样才能实现财富自由
  18. Android中的Gradle之配置及构建优化
  19. JS复制文本到粘贴板,前端H5移动端点击按钮复制文本到粘贴板。
  20. mac远程连接腾讯云虚拟机

热门文章

  1. 安捷伦or是德信号源+频谱仪操作: 从程控到自动测试 (四)平坦度检测的程控实现
  2. cesium实现自定义地球球体背景效果
  3. 暗战洗礼 黑客这样炼成--《暗战强人. 黑客攻防入门全程图解》
  4. multisim中pwl_(Multisim电子电路仿真教程)第3章Multisim仿真元件库与虚拟仪器.ppt
  5. 肌电信号 聚类 Matlab
  6. Win10企业版安装应用商店
  7. 帆软之使用FineTube将其他来源数据同步至简道云表单(多图预警)
  8. win11 dev cpp程序关闭时弹出cmd错误0xc0000142的解决方法
  9. 自学Java网站推荐
  10. 计算机考研408真题2021年,2021年408考研科目真题及答案_文得学习网