情况如下。 Ad-hock分析存储库,每个分析都有一个目录。每个目录都包含一个与一个或多个数据文件相连的脚本,这些文件具有不同的格式并且大小不同(有时相当大)。没有数据的脚本通常没用,所以我们想存储数据文件。另一方面,有时查看脚本而不必强制下载相关数据文件(以确定如何进行某些分析)是有用的。
我们绝对不想将数据存储在单独的存储库中(运行时问题,将脚本与数据文件相关联等)。
分析内容:
我想到的是,从存储库中提取或克隆某些位置或某些文件(即>>> 50 MB)会很方便。只是不转移不需要的数据。 有可能吗?
如果某些文件未被后续提交触及,则从未来推送的角度来看,它们不是必需的。可能(或者甚至肯定)我缺乏关于git潜在机制的某些知识。我很感激澄清。
答案 0 :(得分:0)
Git稀疏结账允许您将子目录设置为结帐或不结算等。我不认为它可以基于其他任何事情(例如大小)通过AFAIK进行。
答案 1 :(得分:0)
identity()
这实际上将仅允许提取小于给定大小的文件。
然后,您必须检出除大文件以外的所有文件。一种可能可行的简单策略是git clone --no-checkout --filter=blob:limit=100m
,但我现在懒于对其进行测试。
有关更多详细信息,请参见以下答案:How do I clone a subdirectory only of a Git repository?