Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34107
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 127
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-09 10:27
文章分类

全部博文(12)

文章存档

2014年(7)

2013年(5)

我的朋友

分类: 项目管理

2014-05-03 15:15:16

转载自:http://my.oschina.net/renhc/blog/54619

一、改动还没被提交的情况(未commit)

这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端。

其实一个命令就可以搞定:
svn revert [-R] PATH
PATH可以是准备回滚的文件、目录,如果想把某个目录下的所有文件包括子目录都回滚,加上-R选项。

二、改动已经提交(已commit)

1.首先取得当前最新版本,不是最新的有可能带来麻烦:

svn update
假设当前版本是2582.

2.找到要回滚到的版本号,如果不清楚,查看log,diff
svn log | more
svn diff -r version1:version2 PATH

假设回滚到版本2580.
3.merge
svn merge -r 2582:2580 PATH

merge完使用diff确认结果
svn diff PATH

4.提交
svn ci PATH -m "Revert version from xxx to xxx because..."

因为又一次提交,版本号又升了一个,现在变成了2583.

见有的人是这么做回滚的,就是逐个修改代码,然后再提交,如果改动很多的话难免有所遗漏,非常不推荐。

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