如何用旧代码替换trunk中的所有代码?

时间:2012-11-27 15:14:20

标签: svn merge

合作伙伴和我正在使用svn作为一个类的合作伙伴项目,我们最初使用我们的主干中的代码走错了方向。我们得到了修订版129,然后才意识到我们最好从版本113开始,并朝着不同的方向前进。

在我自己的计算机上,我检查了修订版113,进行了更改,并希望提交我的代码。但是,当我尝试提交时,我得到了这个:

svn: Commit failed (details follow):
svn: File or directory 'Robot.cpp' is out of date; try updating
svn: resource out of date; try updating

问题是,我不想更新。我不希望我们从版本113到129做出的所有更改,并且基本上想要用我在本地的内容替换存储库中的所有代码。我该怎么做?

3 个答案:

答案 0 :(得分:5)

作为工作副本的根目录,您可以发出以下命令:

svn merge -rHEAD:113 .

这将“撤消”您对修订版113的所有更改,以便您的修订版130看起来像修订版113.

不要忘记事后提交。

答案 1 :(得分:3)

  • 标记当前中继,以便您有备份
  • 将当前副本签出到新文件夹
  • 回滚所有更改版本113:svn merge -c 113,然后svn commit -m "rolledback to 113"
  • 在您当前的工作目录中:svn update
  • 然后svn commit

答案 2 :(得分:1)

您可以标记版本129,并将129版本下载到本地。使用新的本地版本创建一个新的分支。通过这种方式,您可以保留您拥有的一切。在一个分支上,您可以修复版本129上的问题,在其他分支上,您可以创建新功能。您还可以将更改从一个分支合并到另一个分支。