【SVN命令】之 代码回滚命令 merge的使用

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

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

其实一个命令就可以搞定:

1 # svn revert [-R] PATH

PATH可以是准备回滚的文件、目录,如果想把某个目录下的所有文件包括子目录都回滚,加上-R选项。

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

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

1 svn update

假设当前版本是2582.

2.找到要回滚到的版本号,如果不清楚,查看log,diff

1 svn log | more
2 svn diff -r version1:version2 PATH

假设回滚到版本2580.

3.merge

1 svn merge -r 2582:2580 PATH

merge完使用diff确认结果

1 svn diff PATH

4.提交

1 svn ci PATH -m "Revert version from xxx to xxx because..."

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

 

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值