剥离后从 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 不要创建捆绑文件。
我错误地向 hg 存储库添加了一个大文件。然后我剥离了变更集,但注意到回购大小(.hg 文件夹大小)没有减少。我已经完成 hg convert <old_repo> <new_repo>
,并且尺寸确实减小了。所以它对我有用,但我想了解这个概念。
如果文件不再存在于历史记录中,将它们保留在存储库中的目的是什么?
我从历史记录中删除文件的方法是否是最佳实践(忘了我一开始就不应该添加它们)?
我怀疑可能是这个原因:
当您剥离一个变更集时,mercurial 将创建一个变更包并将其放置在 .hg/strip-backup 目录中。这允许您使用 hg unbundle 命令恢复变更集。
这可以使.hg 的大小看起来没有变化。如果您不打算从中恢复该文件,则可以将其删除,.hg 的大小应反映这一点。
注意:strip 将打印它创建的捆绑文件的名称。您还可以使用 --no-backup 选项告诉 strip 不要创建捆绑文件。