我的 Mercurial 存储库中有一个大文件,该文件阻止我的存储库上传到 Bitbucket。我收到错误:
abort: HTTP Error 413: Request Entity Too Large
幸运的是,该文件的文件扩展名与我的存储库中的其他文件扩展名不同,因此应该很容易创建规则来排除它。但是,直到几天前该文件可能变得太大时才包含在存储库的提交中。我是否需要将其从历史记录以及 future 的提交中删除?我需要什么命令来执行此操作?
我在“包含排除提案”上找到了此文档,但我不确定它是提议的功能还是实际的功能:
最佳答案
如果您已经提交了它,而且看起来您已经提交了,那么排除(又名 hgignore)对您不起作用。
.hgignore (以及您在 InlcudeExcludeProposal 中看到的从未采用的高级语法)有助于防止您意外添加不想添加的文件。一旦你添加了一个文件 hgignore 就没有任何作用,并且一旦你提交了添加它,就没有办法将它从历史记录中删除,除非 EditingHistory
如果您可以删除最后几次提交(意图重新执行除大文件添加之外的所有提交),您可以使用 hgclone -r lastknowngoodextensionexistingrepopathnewrepopath
,您将让您的存储库在 newrepopath 中减去那些不需要的扩展。我认为 Bitbucket 提供了一个 Web 界面来删除变更集,但我不确定。
如果您不能直接克隆(或剥离)最后几个修订版本,那么您就处于 EditingHistory 空间中,使用 mq
或 convert
或类似工具。
如果您希望跟踪这些文件但不在存储库中,您可能需要查看 bfiles extension .
关于mercurial - 使用什么命令从 Mercurial 存储库中排除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2402791/