如何在不丢失历史记录的情况下恢复错误分支上的SVN提交

如何在不丢失历史记录的情况下恢复错误分支上的SVN提交,svn,merge,Svn,Merge,我只是搞砸了,需要弄清楚如何在不破坏一切的情况下恢复几次提交 我正在尝试将branch1和branch2合并到一个临时分支中,如下所示: 1) svn cp ^/branch1 ^/branch1a // Create a branch 2) svn sw ^/branch1a // Switch to that branch 3) svn merge ^/branch2 . // Merge branch2 to branch1a 4) <d

我只是搞砸了,需要弄清楚如何在不破坏一切的情况下恢复几次提交

我正在尝试将
branch1
branch2
合并到一个临时分支中,如下所示:

1)  svn cp ^/branch1 ^/branch1a  // Create a branch
2)  svn sw ^/branch1a            // Switch to that branch
3)  svn merge ^/branch2 .        // Merge branch2 to branch1a
4)  <do lots of manual work>
5)  svn ci .                     // revision 991,994,995, return to step 4 if needed
6)  svn sw ^/branch1             // When happy, switch back to branch1
7)  svn merge ^/branch1a .       // Merge our happy changes back into branch1
8)  svn ci                       // Commit these changes
1)svn cp^/branch1^/branch1a//创建分支
2) svn sw^/branch1a//切换到该分支
3) svn合并^/branch2.//将branch2合并到branch1a
4)  
5) svn ci.//修订版991994995,必要时返回步骤4
6) svn sw^/branch1//高兴时,切换回branch1
7) svn合并^/branch1a.//将我们快乐的变化重新融入我们的生活
8) svn ci//提交这些更改
我仍在重复步骤4-5,但意识到我忘记了执行步骤2。我需要从
branch1
还原我的修订,并将其应用于
branch1a
,以便继续工作


我试图用svn merge-c991994995进行还原。,但我的工作副本似乎没有改变。此外,我需要确保我可以保留这些更改并在
branch1a
中重新应用它们。我可以使用的命令序列是什么?

我最终使用了OrtoiseSVN来完成这一任务。说明主要如下:

  • 确保您的工作副本干净且位于
    branch1
  • 打开
    日志
    对话框
  • 选择您不喜欢的修订(按住shift键单击“范围”,按住ctrl键单击“范围”) 个人转数)
  • 右键单击并选择“从这些修订中恢复更改”。这将还原您的工作副本
  • svn ci.
    提交回购协议变更(本版本为997版)
  • svn sw^/branch1a
    返回预期分支
  • svn merge-c 991994995。
    将还原的更改带到此处
  • svn ci.
    将修订提交回购协议 我只是有点担心,当需要将
    branch1a
    重新合并到
    branch1
    中时,997修订版会阻碍良好的合并。如果有人给出了一个好的分辨率的好答案,我会很乐意选择这个答案,而不是这个答案(这是部分的,直到我真正得到导入转速)