在 GitHub 上,Git 原生不支持直接 clone 仓库中的某一个文件夹。
这是因为 Git 的最小版本单位是 整个仓库的提交快照(commit),而不是单个目录。
不过,从 Git 2.25 开始,可以使用 Sparse Checkout(稀疏检出) 来实现
👉 “只把某个目录下载到本地,同时保留 Git 能力”。
pull、checkout)git clone --filter=blob:none --no-checkout https://github.com/用户名/仓库名.git
cd 仓库名
说明:
--no-checkout:clone 后不立刻把所有文件检出--filter=blob:none:尽量减少不必要的文件下载(可选,但推荐)git sparse-checkout init --cone
--cone 模式是官方推荐方式,语法更简单,性能更好。
git sparse-checkout set path/to/folder
示例(只检出 src/components):
git sparse-checkout set src/components
git checkout main
如果仓库使用的是
master或其他分支,请相应替换。
.git 目录完整存在git pull
git status
git checkout
可以:
git sparse-checkout set dir1 dir2 dir3
git sparse-checkout disable
| 项目 | 说明 |
|---|---|
| 是否官方支持 | ✅ 是 |
| 是否只下载指定目录 | ✅ 是 |
| 是否保留 Git 功能 | ✅ 是 |
| 推荐程度 | ⭐⭐⭐⭐⭐ |
完