我的SVN信息库在497版上是完美的。我执行了几次错误的提交,因此现在在HEAD版上。我看到要回滚,应使用如下命令:

svn merge -r HEAD:497 .

在工作目录中(而工作目录在HEAD修订版中)。但这是正确的命令吗?还是我使用HEAD:498?还是496?我已经运行了该命令,当前的版本似乎与497不同,因为当我更新-r 497(或当我拥有497工作副本并更新-r HEAD)时,会发生许多文件更新。

我是否遇到某种击剑问题,而HEAD:497实际上又恢复为496,还是其他?还是当我更新时,尽管HEAD和497相同,但SVN会回溯到每个修订版?

编辑:

澄清一下,正如我之前说过的,当我在497和合并的HEAD之间进行更新时,我发现发生了许多文件更改。我以为,如果497和HEAD相同,它将检测到,并且不会发生文件更改;它只会说“已更新至修订版497”。那么我的命令是错误的,还是这个想法是错误的? (如果是这样,为什么?)

最佳答案

如果您的回购版本497处于原始状态,那么我认为您是正确的,您需要执行以下操作:

svn merge -r HEAD:497 .

该merge命令只会更改您的工作副本中的文件,因此请记住还要提交更改以更新存储库中的HEAD。

合并之后,接着是提交,请尝试将497版本与HEAD比较,并且它们应该相同。

07-24 09:51