git переместить часть старого репозитория в новый репозиторий

У меня есть хранилище, которое содержит несколько каталогов в корне, например

gitroot/a
gitroot/b
gitroot/c

И я хотел бы создать новый репозиторий git только из содержимого a, сохранив при этом свою историю. Это возможно? Я видел редкие проверки, но я не уверен, как я мог бы использовать это для создания нового хранилища (с соответствующей историей) из подкаталога.

1 ответ

Решение

После клонирования вашего существующего репозитория вы можете использовать filter-branch

git filter-branch --subdirectory-filter a -- --all

После этого;

git clean -d -f  // Remove untracked files from the working tree
git gc --aggressive // Cleanup unnecessary files and optimize the local repository
git prune  // Prune all unreachable objects from the object database
Другие вопросы по тегам