Я в процессе разделения старого набора приложений, который изначально находился в одном репозитории Subversion.
Я преобразовал его в репозиторий Git и удалил то, что мне не нужно, но я хотел бы уменьшить размер репозитория, избавившись от исторических данных, связанных с удаленными файлами (исходный репозиторий будет поддерживаться для справочных целей, поэтому он не нужен в новом).
В идеале то, что я хотел бы сделать, - это пройти через весь репозиторий и удалить любые файлы или папки, отсутствующие в рабочем каталоге, а также любую связанную с ними историю. Это оставило бы меня с содержанием HEAD и историей фиксаций, затрагивающих эти файлы. Однако я не сталкивался с этим способом (сиротство HEAD не помогает, поскольку оно не сохраняет историю).
Возможно ли это? Я знаю, как удалить один файл или папку из всей истории через git -filter-branch, но слишком много файлов и папок для этого - практический подход... если нет способа фильтрации на всех файлах, в HEAD?