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

  • 本文关键字:SVN 代码 删除 svn
  • 更新时间 :
  • 英文 :


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

我现在就是这么做的:

  1. 结账到9977:

svn co -r 9977 repo_path

  • 合并9999之前的所有更改,除了9978 &9979年。
  • 请建议。

    如SVN书中所述:

    取消修改

    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
    

    或者使用" cherypick "合并:

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

    当您对工作副本所做的更改感到满意时,不要忘记svn checkin .

    最新更新