当我开始使用Mercurial时,我存储了我的所有"研究&资源"在回购中,其中包括GB的视频。这些大型文件随着时间的推移而累积,并在变更集中进行跟踪。
我最近"删除"来自repo的这些文件夹,因为我想开源项目,这些只是个人资源,只会影响存储库。
然而,尽管将这些资源从回购中移出,但所有视频仍然存储在历史记录中。这使得将repo克隆到服务器的速度非常慢,而且似乎无法将其推送到BitBucket。
我认为最简单的做法是备份当前的仓库,hg init
一个只有核心项目文件的新备份(从版本历史记录开始),并将其作为一个有趣的学习经历?
答案 0 :(得分:1)
创建一个全新的存储库当然是可能的。然而,历史也很有趣。您可以在旧存储库上使用hg convert
,并排除您不希望成为该进程中新存储库一部分的文件。然后,您可以共享由此创建的新精简存储库。
hg convert --filemap FILEMAP old-repo new-repo
其中FILEMAP
是包含转换规则的文件,例如
exclude path/to/largefiles
结帐hg help convert
。旧的和新的存储库将类似地不相关,因为由简单的hg init
创建的新存储库也是如此。但是你保留了你想保留的历史和文件部分。