Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2503410
  • 博文数量: 540
  • 博客积分: 11289
  • 博客等级: 上将
  • 技术积分: 6160
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-11 20:27
个人简介

潜龙勿用,见龙在田

文章分类

全部博文(540)

文章存档

2018年(2)

2013年(5)

2012年(24)

2011年(104)

2010年(60)

2009年(217)

2008年(128)

分类: LINUX

2010-12-21 19:53:46

如果你在svn上对文件进行编辑作了修改,想撤销,那么有两种方法可以还原:
1) svn revert
2) 手动删除该文件,重新执行svn up(rm ; svn up)

但是如果你已经提交了,想回滚到上一次的版本,那么可以按照下面的步骤操作:
# cat testfile
1
2
3

1) 查看文件版本日志:
svn log testfile
-------------------------------------------------------------------------------------
r12147 | develop | 2010-12-21 18:42:54 +0800 (Tue, 21 Dec 2010) | 1 line

update testfile 02
-------------------------------------------------------------------------------------
r12146 | develop | 2010-12-21 18:40:34 +0800 (Tue, 21 Dec 2010) | 1 line

add testfile 01
-------------------------------------------------------------------------------------

2) 比较版本内容(压缩文件/二进制等文件就不用比了,此步骤非必须,这里仅为演示)
# svn diff -r 12146:12147 testfile
Index: testfile
===============================================
--- testfile    (revision 12146)
+++ testfile    (revision 12147)
@@ -1 +1,3 @@
 1
+2
+3

3) 合并(也就是回滚,关键步骤)
# svn merge -r 12147:12146 testfile
U    testfile

4) 查看合并后的结果(可选步骤,用以确认)
# svn diff testfile
Index: testfile
=============================================================
--- testfile    (revision 12153)
+++ testfile    (working copy)
@@ -1,3 +1 @@
 1
-2
-3
#如果到了这里你又突然不想回滚了,可以执行svn revert testfile撤销前面几个做的回滚操作.

 5) 提交回滚操作:(提交后就是回滚后的版本了)
# svn ci -m 'rollback to last revision:12146' testfile

# svn log testfile
-------------------------------------------------------------------------------------
r12157 | develop | 2010-12-21 20:33:24 +0800 (Tue, 21 Dec 2010) | 1 line

rollback to rivision:12146
-------------------------------------------------------------------------------------
r12147 | develop | 2010-12-21 18:42:54 +0800 (Tue, 21 Dec 2010) | 1 line

update testfile 02
-------------------------------------------------------------------------------------
r12146 | develop | 2010-12-21 18:40:34 +0800 (Tue, 21 Dec 2010) | 1 line

add testfile 01
-------------------------------------------------------------------------------------

# cat testfile
1

综上,最必要的就是3个步骤:
1. 确定版本号 svn log
2. 合并 svn merge -r :
3. commit. svn ci -m 'rollback to last revision:'

阅读(14955) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~