SVN如何从要素分支恢复更改

SVN如何从要素分支恢复更改,svn,branch,revert,Svn,Branch,Revert,我创建了一个功能分支,并在那里提交了好几次。我需要还原一些文件,就好像我在功能分支中从未接触过它们一样。换句话说,我不想让他们重新融入社会 如何执行此操作?如果从一个分支合并到另一个分支,则只合并第一个分支上发生的差异。如果您没有接触过文件,那么这些文件将不会有差异,因此在重新整合过程中不会接触到这些文件。因此,不必还原任何内容。执行revert会还原您在客户端工作副本中所做的更改,与分支机构或存储库无关。如果我理解正确,您的情况如下: 您已经创建了一个特色分支: $ svn cp ^/trun

我创建了一个功能分支,并在那里提交了好几次。我需要还原一些文件,就好像我在功能分支中从未接触过它们一样。换句话说,我不想让他们重新融入社会


如何执行此操作?

如果从一个分支合并到另一个分支,则只合并第一个分支上发生的差异。如果您没有接触过文件,那么这些文件将不会有差异,因此在重新整合过程中不会接触到这些文件。因此,不必还原任何内容。执行
revert
会还原您在客户端工作副本中所做的更改,与分支机构或存储库无关。

如果我理解正确,您的情况如下:

  • 您已经创建了一个特色分支:

    $ svn cp ^/trunk/ ^/branches/feature
    
  • 您已经在
    ^/branchs/feature
    上做了一些工作并提交了

    $ ... work, work, work ...
    $ svn ci
    
  • 现在要撤消某些更改。
    因此,进行反向合并。
    首先,使用
    svn log
    检查要撤消的修订:

    In your featured branch working copy:
    $ svn log -v 
    -----------------------------------
    r234 ...
    Changed paths:
    M /branches/featured/file.c       
    
    Implemented a feature
    -----------------------------------
    
  • 反向合并特定版本。注意修订前的
    -

    $ svn merge -c -234 .
    
  • 重新融入主干:

    In the trunk working copy:
    $ svn merge --reintegrate ^/branches/feature .
    

  • 是的,我需要一个对应的revert命令,该命令与存储库一起工作,并将feature branch中的一些文件返回到创建feature branch时的状态。这正是我需要的!但我无法恢复整个提交。几次提交中只有一个文件。另一个原因是我已经重命名了功能分支。@dmiandre,您可以反向合并特定文件:$SVN merge-c-234 path/to/file