在我们尝试介绍Git的组织中,我们现在遇到与二进制文件相关的Git行为问题。
我们的项目将混合使用二进制和文本类型文件,典型大小可以是1 GB。我们担心几年后完整克隆会变得太大并导致性能和磁盘空间问题。
迁移到Git的环境之一将其SW当前放在名为TCM的系统上。版本为7 - 10年的存储库总大小为2 TB
ClearCase的另一个环境大约有7到8年的数据,大约1 TB
由于Git不存储会特别影响二进制文件的增量,因此5年以上的情况会引起用户的关注。
浅克隆功能将是理想的。但是文档说这个“浅的存储库有许多限制(你不能克隆或获取它,也不能从中推送或插入它),但如果你只对一个长期的大型项目的近期历史感兴趣就足够了历史,并希望将修补程序作为补丁发送。“对粗糙克隆进行粗略检查会发现它工作正常,但是肯定有已知的用例,它不会工作,因此文档
是否存在已知的用例列表?
答案 0 :(得分:3)
我建议您将二进制文件存储在专用存储库中,易于扩展且易于清理:像Nexus这样的工件仓库。
您在" How to handle a large git repository?"。
尝试将所有内容保存在Git中,以某种不自然的方式使用它,总会导致更多麻烦:它是一个源控件工具。你也可以将它用于它的好处。
话虽如此,浅层克隆并不支持推送(或者,至少,它很危险:见" Why can't I push from a shallow clone?")。
出于只读的目的,简单的git archive
就足够了,如#34; not understanding git shallow clone"中所述。
2015年更新:
git clone --depth 1
(shallow clone) more useful than it makes out?" 答案 1 :(得分:1)
Git Annex也很好地解决了“git中的大二元文件”问题。