剥离后从 hg repo 中删除文件的正确方法是什么?

What is the correct way to remove files from hg repo after stripping?

我错误地向 hg 存储库添加了一个大文件。然后我剥离了变更集,但注意到回购大小(.hg 文件夹大小)没有减少。我已经完成 hg convert <old_repo> <new_repo>,并且尺寸确实减小了。所以它对我有用,但我想了解这个概念。

如果文件不再存在于历史记录中,将它们保留在存储库中的目的是什么?

我从历史记录中删除文件的方法是否是最佳实践(忘了我一开始就不应该添加它们)?

我怀疑可能是这个原因:

当您剥离一个变更集时,mercurial 将创建一个变更包并将其放置在 .hg/strip-backup 目录中。这允许您使用 hg unbundle 命令恢复变更集。

这可以使.hg 的大小看起来没有变化。如果您不打算从中恢复该文件,则可以将其删除,.hg 的大小应反映这一点。

注意:strip 将打印它创建的捆绑文件的名称。您还可以使用 --no-backup 选项告诉 strip 不要创建捆绑文件。