Компьютеры · Инструкция
Как оставить в Git только одну папку через sparse-checkout
Полезно для монорепозитория, когда локально нужен только один сервис или каталог, а остальную историю и refs удалять нел
Короткий ответ
Выполните `git sparse-checkout init --cone`, затем `git sparse-checkout set path/to/app`. История не удаляется: меняется только набор путей рабочего дерева.
Что делать
- 1: Из корня репозитория выполните `git sparse-checkout init --cone`.
- 2: Задайте нужный каталог: `git sparse-checkout set path/to/app`.
- 3: Проверьте набор: `git sparse-checkout list`.
- 4: Чтобы вернуть все каталоги, выполните `git sparse-checkout disable`.
Важно
Перед сменой sparse-набора сохраните незакоммиченные изменения: Git старается не терять локальные правки.
Проверьте после выполнения
- До команды: Из корня репозитория выполните `git sparse-checkout init --cone`.
- Контроль результата: Чтобы вернуть все каталоги, выполните `git sparse-checkout disable`.
- Не пропустите ограничение: Перед сменой sparse-набора сохраните незакоммиченные изменения: Git старается не терять локальные правки.
Что учитывать
Перед сменой sparse-набора сохраните незакоммиченные изменения: Git старается не терять локальные правки.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. git-sparse-checkout Documentation). Пример и формулировки — редакция N1RO на 2026-09-17.