SVN如何从功能分支还原更改

时间:2011-12-16 16:13:25

标签: svn branch revert

我创建了一个功能分支,并在那里多次提交。我需要恢复一些文件,好像我从未在我的功能分支中触及它们。换句话说,我不想让他们重新融合。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

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

  1. 您已经创建了一个精选分支:

    $ svn cp ^/trunk/ ^/branches/feature
    
  2. 你已经在^/branches/feature做了一些工作并且已经提交了。

    $ ... work, work, work ...
    $ svn ci
    
  3. 现在您要撤消一些更改 所以,做一个反向合并 首先,使用svn log检查要撤消的修订:

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

    $ svn merge -c -234 .
    
  5. 重新融入后备箱:

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

答案 1 :(得分:0)

如果从一个分支到另一个分支进行合并,则只会合并第一个分支上发生的差异。如果你没有触摸过的文件,那么它们就没有差异,所以重新融合的部分不会触及这些文件。所以不,你不必还原任何东西。执行revert会恢复您在客户端上的工作副本中所做的更改,而与分支或存储库无关。