Как удалить все файлы в репозитории Git, которые не в рабочем каталоге?

Я в процессе расщепления старого набора приложений, которые изначально проживали в одном репозитории Subversion.

Я преобразовал его на репозиторий Git и удалил то, что я не хочу, но я хотел бы снять репозиторий, избавившись от исторических данных, связанных с удаленными файлами (исходный репозиторий будет поддерживается для справочных целей, поэтому он не нужен в новом).

В идеале то, что я хотел бы сделать, это пройти через весь репозиторий и удалить любые файлы или папки, которые не присутствуют в рабочем каталоге, а также с любой историей, связанной с ними. Это оставило бы меня с содержанием головы и истории коммитов, влияющих на эти файлы. Тем не менее, я не сталкивался с этим способом сделать это (сиротая голова не помогает, как не сохраняет историю).

Это возможно? Я знаю, как удалить один файл или папку со всей истории через Git-Filter-ветвь, но есть слишком много файлов и папок, чтобы это было практическим подходом ... Если нет способа фильтрации на все файлы не в голове ?

13
задан Luke Bennett 7 September 2011 в 15:13
поделиться