【发布时间】:2015-08-04 20:40:39
【问题描述】:
我们有一个巨大的存储库,其中包含一些非常古老的提交,其中包含巨大的二进制文件。我想让 repo 变得更小,所以我想我可以摆脱前 200 个提交。我看到strip 删除了所有后代,所以不适用于这种情况。
我想要实现的是摆脱提交 A 和 B,就好像 repo 的第一个提交是 C:
[A]->[B]->[C]->[D]----------->[G]-[H]
\ ^
\->[E]-[F]----|
这样做很常见(我从来没有这样做过:)),您将如何实现?
【问题讨论】:
-
是的,它是重复的,最好的解决方案可能是:
hg convert --config convert.hg.startrev=1234 <source-repository> <new-repository-name> -
但重要的是要注意原始答案中的重大警告:“警告:新仓库将具有全新的变更集 ID,即它与原始仓库没有任何关系。创建新存储库后,每个开发人员都必须克隆新存储库并从原始存储库中删除他们的克隆。"
-
是的,这是真的。具有讽刺意味的是,这正是我此刻正在做的事情:D
标签: version-control mercurial dvcs