取消对代码的修改分为两种情况:

第一种情况:改动没有被提交(commit)。

这种情况下,使用svnrevert就能取消之前的修改。

svn revert用法如下:

#svn revert[-R] something

其中something可以是(目录或文件的)相对路径也可以是绝对路径。

当something为单个文件时,直接svn revertsomething就行了;当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动。

在这种情况下也可以使用svnupdate命令来取消对之前的修改,但不建议使用。因为svnupdate会去连接仓库服务器,耗费时间。

注意:svn revert本身有固有的危险,因为它的目的是放弃未提交的修改。一旦你选择了恢复,Subversion没有方法找回未提交的修改。

第二种情况:改动已经被提交(commit)。

这种情况下,用svnmerge命令来进行回滚。

回滚的操作过程如下:

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

svnupdate

假设最新版本号是28。

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

svnlog [something]

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

如果想要更详细的了解情况,可以使用svndiff -r 28:25 [something]

3、回滚到版本号25:

svnmerge -r 28:25 something

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

svndiff [something]

发现正确无误,提交。

4、提交回滚:

svncommit -m "Revertrevision from r28 to r25,because of ..."

提交后版本变成了29。

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

1.svnupdate,svnlog,找到最新版本(latest revision)

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

3. 用svnmerge来回滚:svnmerge -r : something

SVN 查看历史信息 通过svn命令可以根据时间或修订号去除过去的版本,或者某一版本所做的具体的修改。以下四个命令可以用来查看svn的历史:

svnlog 用来展示svn的版本作者、日期、路径等等

svndiff 用来显示特定修改的行级详细信息

svncat 取得在特定版本的某文件显示在当前屏幕

svnlist 显示一个目录或某一版本存在的文件

(一)svnlog可以显示所有的信息,如果只希望查看特定的某两个版本之间的信息,可以使用:

svnlog -r r1:r2

如果只想查看某一个文件的版本修改信息,可以使用

svnlog A

如果希望得到目录的信息要加-v

如果希望显示限定N条记录的目录信息,使用

svnlog --limit N -v

(二)svn diff用来检查历史修改的详情

1、检查本地修改

2、比较工作拷贝与版本库

3、比较版本库与版本库

SVN:取消对代码的修改的更多相关文章

  1. 两个SVN仓库之间代码的转移

    背景: 1.公司的svn服务器架设在了公司内网环境中,没有公网ip,所以离开了公司环境就无法访问(更新.提交...)svn服务器了: 2.四个开发人员去客户现场开发新的需求,在现场找了一台服务器临时搭 ...

  2. SVN上传代码

    概述 SVN上传代码 使用SVN工具上传代码到新浪SAE 1.下载SVN工具http://tortoisesvn.net/downloads.html 2.创建一个文件夹,Checkout,输入SAE ...

  3. 实现textbox文本页面改变触发textchanged事件,代码里修改不触发

    今天弄控件遇到一个问题,就是TextChanged,如果在代码里或在页面修改修改text值,就会触发事情,但如果在textchanged里修改text,它会不会触发呢,不会,我调试跟踪,并没发现它会重 ...

  4. 从SVN导出指定版本号之间修改的文件(转)

    从SVN导出指定版本号之间修改的文件(转)   当一个网站项目进入运营维护阶段以后,不会再频繁地更新全部源文件到服务器,这个时间的修改大多是局部的,因此更新文件只需更新修改过的文件,其他没有修改过的文 ...

  5. SVN取消记住密码

    百度上面找的,SVN取消记录密码的方法: 找到这个文件夹首先需要在文件夹选项里面,显示所有的文件和文件夹,不能隐藏. SVN取消记住用户名的方法 打开C:\Documents and Settings ...

  6. Cocos2D在新版Swift中常量枚举值引用代码的修改

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在SpriteBuilder中是无法直接给一个CCB文 ...

  7. Unity3D代码动态修改材质球的颜色

    代码动态修改材质球的颜色: gameObject.GetComponent<Renderer>().material.color=Color.red;//当材质球的Shader为标准时,可 ...

  8. 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

    分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...

  9. hudson用SVN插件下载代码,用ant插件打包, 用SSH插件部署

    hudson自动化部署步骤 1.SVN插件->下载代码 2.ant插件->war打包    (hudson服务器上可安装多个版本ant,每个项目可以选择一个ant版本.Build File ...

随机推荐

  1. 我的总结常用的js知识

    nvm nvm是node的包管理工具.在不同的项目下使用不同的node版本.下载地址 https://github.com/coreybutler/nvm-windows/releasesnvm in ...

  2. Vue问题

    vue问题 #(1)vouter的addRoutes方法---用户权限 //自定义添加路由方法,防止重复添加路由 #使用后 路由结构 const user = () => import('../ ...

  3. FileAPI

    FileAPI ```java File类的常见方法 1.创建. boolean createNewFile(); //创建文件 boolean mkdir();创建文件夹 boolean mkdir ...

  4. 《Unix 网络编程》08:基本UDP套接字编程

    基本UDP套接字编程 系列文章导航:<Unix 网络编程>笔记 UDP 概述 流程图 recvfrom 和 sendto #include <sys/socket.h> ssi ...

  5. R数据分析:如何简洁高效地展示统计结果

    之前给大家写过一篇数据清洗的文章,解决的问题是你拿到原始数据后如何快速地对数据进行处理,处理到你基本上可以拿来分析的地步,其中介绍了如何选变量如何筛选个案,变量重新编码,如何去重,如何替换缺失值,如何 ...

  6. C#/VB.NET 在Word转PDF时生成目录书签

    当我们在转换Word文档到PDF格式时,想保留Word文档的标题作为PDF书签,那么应该如何操作呢?那么本文将以C#及VB.NET代码为例,介绍如何在Word转PDF时生成目录书签.下面是具体方法和步 ...

  7. 【原创】SpringBoot 2.7.0通过lettuce及commons-pool2 v2.9.0集成Redis踩坑记录

    背景 公司的一个项目由于HTTPS证书到期,导致小程序.POS不能正常使用.所以百度了下,通过URL检测证书有效期的代码,并自行整合到一个服务中. 代码仓库:[基于SpringBoot + 企业微信 ...

  8. 使用Group By子句的时候,一定要记住下面的一些规则

    使用Group By子句的时候,一定要记住下面的一些规则:(1)不能Group By非标量基元类型的列,如不能Group By text,image或bit类型的列(2)Select指定的每一列都应该 ...

  9. Pytorch实现波阻抗反演

    Pytorch实现波阻抗反演 1 引言 地震波阻抗反演是在勘探与开发期间进行储层预测的一项关键技术.地震波阻抗反演可消除子波影响,仅留下反射系数,再通过反射系数计算出能表征地层物性变化的物理参数.常用 ...

  10. 『现学现忘』Docker基础 — 39、实战:自定义Tomcat9镜像

    目录 1.目标 2.准备 3.编写Dockerfile文件 4.构建镜像 5.启动镜像 6.验证容器是否能够访问 7.向容器中部署WEB项目,同时验证数据卷挂载 (1)准备一个简单的WEB项目 (2) ...