Git sparse-checkout: клонировать выбранную папку

Категория: Git · Язык: Bash · Обновлено:

В монорепозитории sparse-checkout оставляет в рабочем дереве только выбранные каталоги. Вместе с partial clone режим не загружает все blobs заранее и экономит место, если нужна лишь часть проекта.

Рабочий пример

Bash
git clone --filter=blob:none --sparse https://github.com/org/monorepo.git
cd monorepo
git sparse-checkout set apps/web packages/ui
git sparse-checkout add docs
git sparse-checkout list

--filter=blob:none откладывает загрузку содержимого файлов до обращения к ним. sparse-checkout set заменяет набор путей, add дополняет его, list показывает активные каталоги.

Частый вопрос

Как вернуть полный рабочий каталог?

Выполните git sparse-checkout disable. Git отключит ограничение и восстановит обычное рабочее дерево.