Вы можете клонировать весь репозиторий, а затем удалить ненужные части, используя git filter-branch
.
Вот как вы удаляете один файл из истории хранилища:
git filter-branch --prune-empty --index-filter 'git rm --cached --ignore-unmatch filename' HEAD
где filename
- путь к файлу, который вы хотите удалить.
Или, если часть, которую вы хотите сохранить, находится в одном каталоге, вы можете сделать
git filter-branch --subdirectory-filter foodir -- --all
Это переписывает историю, как если бы foodir/
был корнем проекта, и отбрасывает всю другую историю.
Внимательно прочитайте документацию , чтобы применить ее для вашего конкретного случая.