14

每次意外我犯了两次,因为我忘了添加两个文件。我可以从日志中删除特定的提交吗?

日志截图

我想删除提交№ 4。

4

4 回答 4

14

简单的答案是“否”,因为当您添加提交、其他人更新他们的签出,然后您从历史记录中删除提交时,Subversion 不知道如何解决这种情况。可能有也可能没有涉及对 Subversion 存储进行手术的复杂答案。

于 2011-09-10T12:17:14.360 回答
5
  1. AFAICS,您没有删除r4,而是与 r5合并,是吗?
  2. 一般来说,SVN 提交历史是不可变的,正如 Sii 所说——如果你没有删除/创建 repo 的权限——你什么也做不了。

如果您可以删除当前存储库并使用新历史创建新存储库,您可以尝试:

  • svnadmin dump为了获得人类可读的(几乎,我不得不说)存储库转储,grok 格式和编辑转储,删除 repo,svnadmin load 重新创建 repo
  • 另一个想法是(而不是编辑转储)另一个 SCM,它具有到 SVN 的桥接(hg+MQ(histedit)+hg-git,fe,将允许您获取 repo 和折叠/删除变更集)。替换旧存储库 - 参见上面的第 2 页
于 2011-09-25T08:47:47.470 回答
2

在您的情况下,只需修改与提交 #4 关联的提交注释以反映您所做的实际更改。您可以通过修改 SVN 存储库配置来使用 Subversion 做到这一点。请参阅Subversion 常见问题解答

于 2011-09-25T08:57:58.120 回答
-1

为什么?让 Subversion 保留历史 - 这就是它的用途。尽早并经常入住。无需删除提交 #4。

于 2011-09-10T12:15:54.037 回答