从SVN代码中删除特定的签入修订

时间:2015-06-04 05:10:16

标签: svn

是否有快速方法从SVN代码库中删除特定的签到?例如,我最新的SVN版本号是9999,我想要一个代码,这些代码没有为9978版修改代码。 9979.

这就是我现在正在做的事情:

  1. 结账时间为9977:
  2. svn co -r 9977 repo_path

    1. 将所有更改合并到9999,除了9978& 9979。
    2. 请告知。

1 个答案:

答案 0 :(得分:1)

作为explained in SVN book

  

撤消更改

     

svn merge的一个非常常见的用途是回滚更改   已经承诺了。假设你正在愉快地工作   / calc / trunk的工作副本,你发现改变了   回到版本303,改变了integer.c,是完全错误的。它   永远不应该承诺。您可以使用svn merge来“撤消”   更改工作副本,然后提交本地修改   存储库。您需要做的就是指定反向差异。   (您可以通过指定--revision 303:302或等效项来完成此操作    - 改变-303。)

使用反向合并:

svn merge -r 9979:9977 http://svn.example.com/repos/myrepo/trunk

或使用" cherrypick"合并:

svn merge -c -9979 http://svn.example.com/repos/myrepo/trunk
svn merge -c -9978 http://svn.example.com/repos/myrepo/trunk

对工作副本中所做的更改感到满意后,请不要忘记svn checkin