我们即将从TFSVC迁移到git。我们当前的存储库已超过5年,包含~78000次提交。到目前为止,我能够拥有一个巨大的克隆(~10GB)。该存储库将作为新git仓库的基础,并作为旧源研究的只读副本。
由于尺寸的原因,我们用BFG清理那个回购并将其降低到~1GB,这仍然太大了。 我们目前使用发布分支,我们需要使用dev trunk和最后几个发布分支移动到新系统。可以在10GB存储库中查找旧分支及其提交。
是否可以通过日期戳切断新存储库的提交(也就是历史记录)?我们确实希望大致保留最近6个月的提交,并且只保留最新发布的分支。
基本上它归结为这样一个问题:在真正成长几年之后,你如何管理你的git repo?让我们说每隔几年我只想保留去年。你是如何实现这一目标的?
我已经尝试了一个浅层克隆,但这并不能保留分支。
答案 0 :(得分:0)
正如我在" Is it possible to do a shallow git clone based on datetime?"中所提到的,可以使用Git 2.11(which will be released soon: 22 Nov. 2016,并为其there are previews already)
fetch --depth
(请参阅git clone
man page和its test。commit 994c2aa中实施的功能)
关于分支机构,请参阅" git shallow clone (clone --depth) misses remote branches"。但是如果在请求日期之前从提交启动远程分支,则该分支不会进入浅层克隆。
基本上它归结为这样一个问题:在真正成长几年之后,你如何管理你的git repo?
我keep an bundle用于存档,init
我想要的分支用于新的浅克隆存储库。