我将 ProjectLocker 与 TortoiseSVN 和 VisualSVN 一起使用。
昨晚在试图找出一个奇怪的问题时,我将几个文件恢复到最后一个生产日期。那恰好是大约 3-4 次修订。
当较旧的文件没有解决问题时,我尝试进行更新以恢复有问题的两个文件的最新版本。
我现在看到(感谢“类似问题”)我应该使用 Update to Revision 而不是 Revert。
问题是,我能以某种方式取回这些修订版吗?
我将 ProjectLocker 与 TortoiseSVN 和 VisualSVN 一起使用。
昨晚在试图找出一个奇怪的问题时,我将几个文件恢复到最后一个生产日期。那恰好是大约 3-4 次修订。
当较旧的文件没有解决问题时,我尝试进行更新以恢复有问题的两个文件的最新版本。
我现在看到(感谢“类似问题”)我应该使用 Update to Revision 而不是 Revert。
问题是,我能以某种方式取回这些修订版吗?
还原您的还原,文件将像 2 次修订前一样。
您应该能够在还原之前还原到修订版。
SVN 不直接支持回滚(乌龟称之为“Revert”)。相反,它从旧版本中获取副本并将其复制到新版本上。
但这仍然会留下您要恢复的修订。当您这次恢复时,您可能需要使用挂钩修订版(例如,对于修订版 123,您要恢复到http://mysvndomain.com/repos/foo/bar@123
.
“revert”这个词在 Subversion 中有特殊的含义,这不是你在这里使用的。Subversion还原意味着撤消工作副本中任何未提交的更改 - 在这种情况下不会触及存储库状态。
对修订的更新也不适用于此处,因为您无法从该状态提交。
您最初应该做的是所谓的反向合并。您应用一个或多个更改的合并以将存储库状态回滚到先前修订版(您的最后一个生产修订版)中的状态,而不是仅仅复制文件然后将它们作为新修订版提交。您仍然可以在当前情况下执行此操作 - 反向合并您刚刚提交的更改,然后提交。这会让你回到“最近的”。您的修订历史看起来有点奇怪,但并没有完全损坏。