github 什么是稀疏检出
“稀疏检出(Sparse Checkout)”是 Git 的一个功能,它允许你只拉取(检出)仓库中的部分目录或文件,而不是整个仓库的全部内容。
📦 举个例子:
你有一个很大的 Git 仓库结构如下:
.
├── backend/
├── frontend/
├── docs/
└── tools/
但你只对 frontend/ 感兴趣,不想浪费磁盘空间拉别的东西,这时候你就可以使用 稀疏检出,只拉 frontend/ 目录。
🛠️ 稀疏检出的使用步骤
git init
git remote add origin git@github.com:user/repo.git
开启稀疏检出
git config core.sparseCheckout true
指定要拉取的目录(支持多个)
echo "frontend/" > .git/info/sparse-checkout
拉取代码
git pull origin main
这样你只会看到 frontend/ 目录,其它内容不会拉到本地。
✅ 优势
✅ 节省空间
✅ 提高拉取速度
✅ 对于大型 monorepo(包含多个项目的 Git 仓库)尤其有用
⚠️ 注意事项
稀疏检出只影响工作区文件,Git 仓库历史和对象仍然完整保留在 .git 中,不是“浅克隆”。
如果你需要更彻底节省空间,还可以搭配 --depth 参数(浅克隆)使用。
💡 在你脚本中的用途
你脚本中的:
git config core.sparseCheckout true
echo "$PROJECT_PATH/" > .git/info/sparse-checkout
意味着你只会拉取 $PROJECT_PATH(即 blooke/)目录的内容,避免拉整个 cursor 仓库,提高构建效率。