Сначала выполните:
git clone --depth 1 [repo root] [name of destination directory]
Сначала выполните:
cd [name of destination directory]
... И наконец:
Это так просто. Git перепишет репо так, чтобы был включен только желаемый sub-dir. Это работает, даже если sub-dir имеет несколько слоев. Просто назовите каталог назначения именем sub-dir. Затем в команде «git filter-branch» помещаем относительный путь в sub-dir. О, --depth 1 сообщает git, чтобы загружать только верхнюю часть головы (по существу удаляя историю).