0

我不小心提交了分散在多个目录中的几个文件。好消息是还没有其他人向存储库提交任何内容。坏消息是我笨拙的尝试还原文件一直在挖我一个越来越深的洞。

我会在 Windows 资源管理器中右键单击该文件,执行 TortoiseSVN -> 显示日志,选择旧的、好的版本,右键单击,然后尝试将修订版保存到...,恢复到此修订版,并从此恢复更改修订。要么在我不想要的废话中还原合并,要么它似乎工作并且我提交但提交与正确的修订不匹配,或者提交抱怨文件冲突并让我合并提交,然后是我的手册合并被拒绝。

如果我很聪明,我会先来这里寻求建议,因为我找到了关于如何恢复的很好的干净说明,但我的黑客攻击似乎阻碍了系统。

正确的方法似乎是转到树的顶部,显示日志,选择引发我的问题的签入,然后“恢复此版本的更改”。但是,当我现在尝试这样做时,上师冥想了一会儿,然后告诉我它不能融合未来的变化。

我真的不想合并任何东西,我想拿起斧头砍掉废话。

我现在怎样才能回到过去?

4

2 回答 2

1

假设在你搞砸之前的最后一个正确的版本是 1234,而你现在是 1240 的版本。按照这个过程:

  • 确保您的工作副本已更新到最新版本,并且不包含任何本地修改(使用TortoiseSVN 菜单中的检查修改)
  • 单击工作副本根文件夹上的“显示日志”
  • 找到修订版 1234。右键单击它,然后选择“恢复到此修订版”(而不是“恢复此修订版的更改”)。这将撤消自修订版 1234 以来从 1240 到 1235 的所有提交,并使您的工作副本与修订版 1234 一样。
  • 提交,并带有消息“恢复自修订版 1234 以来我引入的所有混乱”。
于 2012-09-29T11:35:55.760 回答
0

部分问题是我的工作副本中的文件与 svn 树不同步。我通过以下方式清理它们:
a1)查找哪些文件与 svn 树不同步
a2)删除它们,
a3)进行更新以替换它们。

在那次清理之后,事情正常进行了。我再次尝试了恢复过程:
b1) 从树的顶部打开“显示日志”窗口,
b2) 选择第一个错误签入,
b3) 从右键单击上下文菜单中选择恢复此版本的更改。

那个时候一切顺利——我仔细验证了它。我用良好的修订对每个文件进行了比较,每次都得到二进制相等的结果。

c1) 我提交了恢复的文件。

然后我回到 Show Logs,选择好版本和顶级版本,比较文件,再次得到二进制等于。

现在一切都好。感谢大家的投入。

于 2012-10-04T23:23:49.390 回答