【发布时间】:2017-03-27 02:50:10
【问题描述】:
我们即将从 TFSVC 迁移到 git。我们当前的存储库已有 5 年多的历史,包含约 78000 次提交。到目前为止,我能够拥有一个巨大的完整克隆(~10GB)。该存储库将作为我们新的 git 存储库的基础,并作为对旧源研究的只读副本。
由于大小的原因,我们确实使用 BFG 清理了该 repo,并将其降低到 ~1GB,这仍然太大了。 我们目前使用发布分支,我们需要使用 dev 主干和最后几个发布分支迁移到新系统。可以在 10GB 存储库中查找较旧的分支及其提交。
是否可以按日期标记切断新存储库的提交(也称为历史记录)?我们确实希望保留大约最近 6 个月的提交以及最新的发布分支。
基本上归结为一个问题:当 git repo 真正成长了几年后,你如何管理它?可以说每隔几年我只想保留最后一年。你是如何做到这一点的?
我已经尝试了一个浅克隆,但它没有保留分支。
【问题讨论】:
-
你的 repo 是否包含二进制文件? 1Gb 真的很大(不能只是来源)
-
是的,它包含一些二进制文件。克隆后可以删除其中的许多内容。在那里我还需要一个较小的提交历史,否则 BFG 和 git filter-branch 将永远持续