[英]Is there a way to confine Git to a sparse checkout?
正如最近的一个问题所暗示的那样,我正在寻找一种方法来加速Git存储库上的操作,这些存储库包含大量文件(约600万)。 我宁愿不使用子模块。 问题是操作很慢。 是否可以拥有一个大型存储库,但是指示Git只关注存储库的一部分? 我认为可能会创建一个稀疏结账,但是读取树操作似乎删除了稀疏检出文件中未指定的文件并且需要很长时间。 是否可以执行读取树,使所有文件保持原样,并且仅与稀疏检出文件中指定的文件数成比例?
目前不是,没有。 Git最近才(1.7+)添加了任何稀疏的checkout支持,而且它仍然相当简单 - 主要是因为Git并不是真正设计为只处理部分存储库。
它更适合作为每个项目的一个存储库版本控制系统。 子模块是选择处理具有许多大型子组件的“项目”的方法。
首先,我建议学习和使用子模块。
您可以编写自己喜欢的内容
git ls-tree sha1
git show sha1:path/to/some/file.txt
和其他低级命令。 另请参阅bash命令,例如
xargs
grep
cut
和管道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.