5

一个合作伙伴和我正在使用 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 所做的所有更改,并且基本上希望将存储库中的所有代码替换为我在本地拥有的代码。我该怎么做?

4

3 回答 3

5

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

svn merge -rHEAD:113 .

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

不过不要忘记事后提交。

于 2012-11-27T15:28:09.683 回答
3
  • 标记当前主干,以便您有备份
  • 将当前副本签出到新文件夹中
  • 将所有更改回滚到版本 113:svn merge -c 113然后svn commit -m "rolledback to 113".
  • 在您当前的工作目录中:svn update
  • 然后svn commit
于 2012-11-27T15:32:12.167 回答
1

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

于 2012-11-27T15:25:12.117 回答