原文链接:

http://keenwon.com/1072.html

SVN是一个版本管理工具,在工作中经常使用,尤其是多人合作开发的时候,版本管理显得更加重要。需要使用回退的场景往往都比较“紧急”,今天就记录一下在使用SVN的时候怎么回退到指定的版本,方便以后随时查看。

方法一

右击文件(也可以是文件夹),TortoiseSVN – show log,右击你想要回滚到的版本。



可以看到两个选项:“Revert to this revision”和“Revert changes from this revision”。下面一个一个说:

我们假设有个文件a.js,有版本1,版本2…版本5。首先看“Revert to this revision”,这个比较好理解,也比较常用。就是把文件恢复到某个版本,然后commit,文件就回滚成功了。回滚成功后,所有的历史还存在。例如回滚到版本4,commit之后,会出现新的版本6,但是他的内容和版本4是一样的。

再来看看“Revert changes from this revision”,这个就比较纠结了,他的意思是“取消这个版本的修改”,例如我们在版本1上执行“Revert changes from this revision”,这时候问题就来了,你取消了一个“已经过期的修改”,那么这个文件该使用版本1的前一个版本呢?还是是使用当前的最新版本呢?SVN知道该怎么做,所以它提示冲突,把选择权交给用户:

如果我们同时选中版本1到最新版,执行“Revert changes from this revision”,就没有问题了,因为你把版本1之后的所有修改都“取消”了,SVN自然把文件恢复到版本1之前的版本。但是这和“Revert to this revision”的作用一样了。所以我们一般使用“Revert to this revision”就够了。

方法二

另一个方法就是使用merge命令:



选择第三个,“merge two different trees”,大意就是合并两个版本。

之后选择:把最新版本合并成你想回滚到的那个版本:

注意:不该填的不要填

点击next,后面什么都不用改,点击”Merge”

文件就回滚到了指定的版本了,commit之后,回滚完成。

svn TortoiseSVN 回滚版本的更多相关文章

  1. svn回滚版本1

    我刚开始使用SubVersion时, 想把svn代码库回滚到以前某个版本,  上网找来找去都找不到(那时文档比较少), 让我郁闷了好一阵子.  现在记录一下 SubVersion回滚的方法: 第一种方 ...

  2. Linux svn 回滚版本库

    Linux代码   svn up Index/ 然后找出要撤销的确切版本: Linux代码   svn log --limit 10 Index/tpl/css/global.css 根据log怀疑是 ...

  3. svn回滚版本2

    svn 版本回滚 取消对代码的修改分为两种情况:   第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn ...

  4. svn回滚版本

    1.本地修改了内容,但是没有commit可以通过Revert-来覆盖当前版本. 2.已经commit了.首先第一步,应该知道需要回滚的版本编号, 第二步,选择 updata to revision

  5. SVN代码回滚命令之---"svn up ./ -r 版本号"---OK

    一.改动还没被提交的情况(未commit) 这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端. 其实一个命令 ...

  6. SVN代码回滚

    取消对代码的修改分为两种情况:   第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn revert [ ...

  7. svn代码回滚命令

    代码回滚提交: 比如要把73回滚到68 svn merge -r 73:68 http://my.repository.com/my/project/trunk 然后commit就行了 svn com ...

  8. SVN代码回滚命令之---merge的使用

    一.改动还没被提交的情况(未commit) 这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端. 其实一个命令 ...

  9. svn merge 回滚

    聊一聊 svn merge 命令. svn 是啥就不用介绍了吧,谁用谁知道.有了 svn,开发者只要把代码提交上去,无论山崩地裂.电脑进水.硬盘格式化,哪怕换了一台电脑,都能随时把代码找回来.不过从自 ...

随机推荐

  1. mysql5.1安装图解教程

    mysql5.1安装图解教程 曾经为了要搭建模拟平台,从内地网站学习到台湾网站,其中必不可少的一项就是MySQL,那时候正好普遍用5.1,所以也很习惯用MySQL5.1版本! 下面就以MySQL5.1 ...

  2. Javascript作业—数组去重(要求:原型链上添加函数)

    数组去重(要求:原型链上添加函数) <script> //数组去重,要求:在原型链上添加函数 //存储不重复的--仅循环一次 if(!Array.prototype.unique1){ A ...

  3. Raknet—视频会议系统最佳的数据传输引擎

    RakNet是一个跨平台的C++和C#的游戏引擎,它主要是为高效的数据传输而设计,使用者可以通过它进行游戏和其他的程序的开发.RakNet虽然是一个游戏引擎,但同样也是一个非常好的视频会议系统传输引擎 ...

  4. Maven 配置本地依赖jar

    现有json-1.0.jar,引入依赖方法如下: 1.  在项目下新建 lib 目录,复制json-1.0.jar到lib目录下 pom.xml中添加配置 <dependency> < ...

  5. HttpServerUtility 和 HttpUyility

    参考:msdn HttpServerUtility 提供用于处理 Web 请求的 Helper 方法. 2017/08/07            加密解码 这个类没有构造函数,所以不能直接new. ...

  6. python解析ini文件

    python解析ini文件 使用configparser - Configuration file parser sections() add_section(section) has_section ...

  7. AMD、CMD和CommonJS规范(转)

    CommonJS规范  CommonJS是在浏览器环境之外构建JavaScript生态系统为目标产生的项目,比如服务器和桌面环境中.CommonJS规范是为了解决JavaScript的作用域问题而定义 ...

  8. Python 文件访问模式

    f = open('xxx文件', '访问模式') r    以只读方式打开文件(read).文件的指针将会放在文件的开头.默认模式. w   打开一个文件只用于写入(write).如果该文件已存在则 ...

  9. java多线程同步以及线程间通信详解&消费者生产者模式&死锁&Thread.join()(多线程编程之二)

    本篇我们将讨论以下知识点: 1.线程同步问题的产生 什么是线程同步问题,我们先来看一段卖票系统的代码,然后再分析这个问题: package com.zejian.test; /** * @author ...

  10. noip2018 洛谷 P5020 货币系统

    关键: 要使m最小,(m,b)中的数不能用(n,a)中的数表示出来 对于 3  19  10  6 19=10+3+3+3 6=3+3 只有3 和 10 不能被(n,a)中的数表示 所以m=2 只需要 ...