- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我们试图引入 Git 的组织中,我们现在遇到了一个与二进制文件相关的 Git 行为相关的问题。
我们的项目将混合使用二进制和文本类型的文件,典型大小可能为 1 GB。我们担心的是,几年后完整克隆会变得太大并导致性能和磁盘空间问题。
将迁移到 Git 的环境之一当前将其软件安装在名为 TCM 的系统上。 7-10 年版本的存储库总大小为 2 TB。
ClearCase 上的另一个环境有大约 1 TB 的大约 7-8 年的数据。
由于 Git 不存储在增量中,这将特别影响二进制文件,5 年以上的情况引起了我们用户的关注。
浅克隆功能将是理想的。但是 docu 说这个“浅存储库有很多限制(你不能克隆或从中获取,也不能从中推送或向其中推送),但如果你只对一个长期的大型项目的最近历史感兴趣,那就足够了历史,并希望将修复程序作为补丁发送。”。对浅层克隆的粗略检查会表明它工作正常,但肯定有已知的用例它不会工作,因此文档
是否有一个已知的用例列表,其中这行不通?
最佳答案
我建议您将二进制文件存储在专用存储库中,易于扩展和清理:像 Nexus 这样的工件存储库.
您在“How to handle a large git repository?”中还有其他选择。
试图将所有内容保留在 Git 中,以某种不自然的方式使用它,总会导致更多的麻烦,这是值得的:它是一个源代码控制工具。您不妨将它用于它的好处。
也就是说,浅层克隆不支持推送(或者,至少,它是危险的:参见“Why can't I push from a shallow clone?”)。
出于只读目的,一个简单的 git archive
就足够了,如“not understanding git shallow clone ”中所述。
2015 年更新:
git clone --depth 1
(shallow clone) more useful than it makes out?”关于git - 浅克隆的局限性是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13137660/
我想做如下的事情: class Foo(object): def __init__(self): self.member = 10 pass def facto
我是一名优秀的程序员,十分优秀!