Предполагая, что вы хотите сохранить подкаталог как отдельный проект: вы можете использовать git filter-branch
для этого.
- Создать новую ветку
- Определите «древовидный фильтр», который реорганизует извлеченную копию так, как вам нужно, в идеале в виде отдельного скрипта
- Пробег
git filter-branch --tree-filter=/path/to/script thebranch
Теперь у вас есть отдельная ветка, которая не связана с обычным потоком разработки, содержащая только подкаталог. Тот, кто клонирует новую ветвь, получает только историю подпроекта.