博客

Git 克隆指定文件夹

git
clone
sparse-checkout

A bright pink sheet of paper used to wrap flowers curves in front of rich blue background

Git 克隆指定文件夹

有时候在 Github(不仅限于 Github)找到一个仓库,不想克隆整个仓库,只需要一个文件夹。该如何做呢?

幸运的是,Git 提供了 sparse-checkout 命令。

::: tip 前提条件 Git v2.26.0+ :::

示例

VitePress 仓库为例,要 clone 其中的 examples 目录,看下图:

示例图

以下是整个的操作步骤:

# 1.克隆仓库
# --sparse:选项初始化稀疏检出文件
# --filter:将过滤所有的 blob(文件内容)
git clone git@github.com:vuejs/vitepress.git --sparse --filter=blob:none

# 2.进入到 vitepress 目录下
cd vitepress

# 3.初始化 sparse-checkout
git sparse-checkout init --cone

# 4.设置要检出的文件夹,并检出 examples 文件夹
git sparse-checkout set examples

至此,打开所在目录,看到 examples 已经被克隆下来了。

结果图

::: warning 未经授权,禁止转载 :::