什么是浅层克隆的局限性

max*_*bin 6 git

在我们尝试引入Git的组织中,我们现在遇到与二进制文件相关的Git行为问题.
我们的项目将混合使用二进制和文本类型文件,典型大小可以是1 GB.我们担心几年后完整克隆会变得太大并导致性能和磁盘空间问题.
迁移到Git的环境之一将其SW当前放在名为TCM的系统上.版本为7 - 10年的存储库总大小为2 TB.
ClearCase的另一个环境大约有7到8年的数据,大约1 TB.
由于Git不会以特别影响二进制文件的增量存储,因此5年以上的情况会引起用户的关注.
浅克隆功能将是理想的.但是文档说这个"浅的存储库有许多限制(你不能克隆或获取它,也不能从中推送或插入它),但如果你只对一个长期的大型项目的近期历史感兴趣就足够了历史,并希望将修补程序作为补丁发送." 粗略检查浅克隆将表明它工作正常,但绝对有已知的用例,它不会工作,因此文档
是否有一个已知的用例列表,这不会工作?

Von*_*onC 5

我强烈建议您将二进制文件存储在专用存储库中,易于扩展且易于清理:像Nexus这样的工件存储库。
您在“如何处理大型 git 存储库? ”中还有其他选择。

试图将所有内容都保留在 Git 中,以某种不自然的方式使用它,总会导致更多的麻烦,这是值得的:它是一个源代码控制工具。您不妨将它用于它的好处。

话虽如此,浅克隆不支持推送(或者,至少,这是危险的:请参阅“为什么我不能从浅克隆推送? ”)。
对于只读目的,一个简单的git archive就足够了,如“不理解git浅层克隆”中提到的。

2015 年更新: