svn 回滚

有时候我们想丢弃对代码做过的改动。
分两种情况:
一、改动没有check in。这种情况下,我们使用svn revert就能把改动给扔掉了。
  提示:CVS用户习惯于只把本地改动过的文件删掉,然后执行一次update来还原文件。在svn中也可以这么做,但最佳实践是执行svn revert,这个操作会更安全也更迅速。因为update需要去连接服务器而你没有准备好接受新的改动,而svn revert不会连接服务器也不会从服务器获取新的改动。

二、改动已经check in。
  这种情况下,有多种办法可以进行撤销修改。一般我们推荐用svn merge来达成目的。
  典型的操作过程如下:
  1、保证我们拿到的是最新代码:
     svn update
     假设是28版本。
  2、然后找出要移除的确切版本:
     svn log contacts.java
    根据log怀疑是27版本改坏的,比较一下:
     svn diff -r 26:27 contacts.java
    发现果真是27版本坏事。
  3、撤销27版本的改动:
      svn merge -r 27:26 contacts.java
    为了保险起见,再次确认合并的结果:
      svn diff contacts.java
    发现已正确撤销了改动,提交。
  4、提交改动
    svn commit -m "Revert wrong change from r27"
    提交后版本变成了29。

关于整个目录的回滚,参阅帖子:
http://www.scmbbs.com/cn/svntp/2007/12/svntp11.php
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值