Предположите, что мой репозиторий мерзавца имеет следующую структуру:
/.git
/Project
/Project/SubProject-0
/Project/SubProject-1
/Project/SubProject-2
и репозиторий имеет некоторые фиксации. Теперь один из подпроектов (Подпроект 0) становится довольно большим, и я хочу вынуть Подпроект 0 и настроить его как автономный проект. Действительно ли возможно извлечь всю историю фиксации, включающую Подпроект 0 из родительского репозитория мерзавца и переместить его в новый?
См. http://git-scm.com/docs/git-filter-branch
Я думаю, вам нужно что-то вроде
git filter-branch --subdirectory-filter Project/SubProject-0 --prune-empty -- --all
в клоне репозитория.