Skip to content

部分克隆技术

最近经常需要阅读 vercel、cloudflare、nuxt 等仓库的官方 template 模板仓库,这些仓库太大了,需要考虑学习部分克隆。

git 是有部分克隆的方式的。更加专业正式的称呼是: sparse-checkout

我们可以口语化的称呼部分克隆,正式称呼为稀疏检出

参考资料

实践教程
稀疏检出
其他参考资料

具体操作

以 cloudflare 的 worker-d1-api 目录举例:

我现在要在本地内仅克隆此目录。运行以下命令:

bash
git clone --filter=blob:none --sparse https://github.com/cloudflare/templates.git
cd templates
git sparse-checkout add worker-d1-api

参数配置具体含义见参考资料。

其他尝试

上述的方案有点不好用。以下是其他项目的稀疏检出实践:

参考资料
github cloudflare/workers-sdk
bash
git clone --filter=blob:none --sparse --depth=1 -n https://github.com/cloudflare/workers-sdk
cd workers-sdk
git sparse-checkout init --cone
git sparse-checkout add templates/worker-d1-api
git checkout

稀疏检出对仓库的支持程度有限么?

有点怀疑,比如云效、gitee 这一类仓库,对稀疏克隆的支持程度是否有限?

贡献者

The avatar of contributor named as ruan-cat ruan-cat

页面历史