Ответ 1
Цитирование примера из git-filter-branch(1)
Чтобы переписать репозиторий так, как будто foodir/был его корнем проекта и отбросил всю историю:
git filter-branch --subdirectory-filter foodir -- --all
Таким образом, вы можете, например, превратить подкаталог библиотеки в собственный репозиторий. Обратите внимание, что - отделяет параметры ветвления фильтра от параметров ревизии и -all, чтобы переписать все ветки и теги.