SVN:取消对代码的修改

转载 2012年03月29日 17:59:53
http://blog.sina.com.cn/s/blog_5432f2730100vmz4.html
取消对代码的修改分为两种情况:
 
第一种情况:改动没有被提交(commit)。
这种情况下,使用svn revert就能取消之前的修改。
svn revert用法如下:
svn revert [-R] something
其中something可以是(目录或文件的)相对路径也可以是绝对路径。
当something为单个文件时,直接svn revert something就行了;当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动。
在这种情况下也可以使用svn update命令来取消对之前的修改,但不建议使用。因为svn update会去连接仓库服务器,耗费时间。
注意:svn revert本身有固有的危险,因为它的目的是放弃未提交的修改。一旦你选择了恢复,Subversion没有方法找回未提交的修改。
 
第二种情况:改动已经被提交(commit)。
这种情况下,用svn merge命令来进行回滚。 
   回滚的操作过程如下: 
   1、保证我们拿到的是最新代码: 
     svn update 
     假设最新版本号是28。 
   2、然后找出要回滚的确切版本号: 
     svn log [something]
     假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件、目录或整个项目
     如果想要更详细的了解情况,可以使用svn diff -r 28:25 [something]
   3、回滚到版本号25:
       svn merge -r 28:25 something
     为了保险起见,再次确认回滚的结果:
       svn diff [something]
     发现正确无误,提交。
   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

http://lee2013.iteye.com/blog/1074457

SVN 查看历史信息 通过svn命令可以根据时间或修订号去除过去的版本,或者某一版本所做的具体的修改。以下四个命令可以用来查看svn 的历史:
svn log 用来展示svn 的版本作者、日期、路径等等
svn diff 用来显示特定修改的行级详细信息
svn cat 取得在特定版本的某文件显示在当前屏幕
svn list 显示一个目录或某一版本存在的文件

(一)svn log可以显示所有的信息,如果只希望查看特定的某两个版本之间的信息,可以使用:
svn log -r r1:r2
如果只想查看某一个文件的版本修改信息,可以使用
svn log A
如果希望得到目录的信息要加-v
如果希望显示限定N条记录的目录信息,使用
svn log --limit N -v
(二)svn diff用来检查历史修改的详情
。检查本地修改
。比较工作拷贝与版本库
。比较版本库与版本库
(1)如果用svn diff,不带任何参数,它将会比较你的工作文件与缓存在.svn的“原始”拷贝
svn diff
Index: rules.txt
===================================================================
--- rules.txt (revision 3)
+++ rules.txt (working copy)
@@ -1,4 +1,5 @@
Be kind to others
Freedom = Responsibility
Everything in moderation
-Chew with your mouth open
(2)比较工作拷贝和版本库
svn diff -r 3 rule.txt,就是比较你的工作拷贝和版本库中版本号为3的文件rule.txt
(3)比较版本库与版本库
通过-r(revision)传递两个通过冒号分开的版本号,这两个版本会进行比较
svn diff -r 2:3 rule.txt 用来比较svn工作版本中版本号2和3的这个文件的变化

(三)svn cat
如果只是希望检查一个过去版本,不希望查看他们的区别,可使用svn cat
svn cat -r 版本号 rule,txt
这个命令会显示在该版本号下的该文件内容

(四)svn list
svn list可以在不下载文件到本地目录的情况下来察看目录中的文件:
svn list http://svn.collab.net/repos/svn
README
branches/
clients/
tags/
基本使用
34
trunk/
如果你希望察看详细信息,你可以使用--verbose(-v) 参数:
svn list -v http://svn.collab.net/repos/svn
20620 harry 1084 Jul 13 2006 README
23339 harry Feb 04 01:40 branches/
21282 sally Aug 27 09:41 developer-resources/
23198 harry Jan 23 17:17 tags/
23351 sally Feb 05 13:26 trunk/
这些列告诉你文件和目录最后修改的修订版本、做出修改的用户、如果是文件还会有文件的
大小,最后是修改日期和项目的名字。


相关文章推荐

svn的滚回操作(撤销修改)

有时候我们想丢弃对代码做过的改动。 分两种情况: 一、改动没有check in。这种情况下,我们使用svn revert就能把改动给扔掉了。   提示:CVS用户习惯于只把本地改动过的文件删掉,然后执...

svn取消本地代码的修改

第一种情况:改动没有被提交(commit)。 这种情况下,使用svn revert就能取消之前的修改。 svn revert用法如下: # svn revert [-R] something ...

TP5执行流程

简要分析THINKPHP5的核心代码执行流程

SVN代码回滚命令 即取消对代码的修改

http://blog.sina.com.cn/s/blog_5432f2730100vmz4.html 取消对代码的修改分为两种情况:   第一种情况:改动没有被提交(commit)。 这种情况下...

model 获取器

TP5获取器相当于是钩子函数,对model值进行监听,获取model属性值时自动调用。

svn commit后回滚撤销修改

在团队合作开发中,如果用错命令提交(commit)了一个不该提交的代码文件的话,那就进行代码回滚吧,我当时就使用svn commit -m "fix onebug" \误操作将所有文件给提交了,有些文...

TP5 Model 功能总结

功能清单 数据自动完成 自动写入时间戳 时间字段自动格式化输出字段 字段验证器 自动关联写入 只读字段 隐藏字段 事件回调

SVN 撤回(回滚)提交的代码

打开svn show log 日志,查看自己提交的代码文件 revert change from this version 从这个版本恢复更改( 这个操作会恢复本文件未提交前的版本(代码)) 修改好...

TP5行为扩展(钩子函数)

1. 官方解释 行为(Behavior)是ThinkPHP扩展机制中比较关键的一项扩展,行为既可以独立调用,也可以绑定到某个标签中进行侦听,在官方提出的CBD模式中行为也占了主要的地位,可见行为在...

SVN版本控制与恢复删除

首先我看了看别人介绍的版本控制 如下: 1. 版本控制介绍   1.1. 什么是版本控制 版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision)。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)