¿Cómo dividir un repositorio git y seguir los nombres de directorio?

Actualmente tengo un gran repositorio de git que contiene muchos proyectos, cada uno en su propio subdirectorio. Necesito dividirlo en repositorios individuales, cada proyecto en su propio repositorio.

Lo intentégit filter-branch --prune-empty --subdirectory-filter PROJECT master

Sin embargo, muchos directorios de proyectos pasaron por varios nombres en sus vidas, ygit filter-branch no sigue a los nombres, por lo que efectivamente el repositorio extraído no tiene ningún historial antes del último cambio de nombre.

¿Cómo puedo extraer efectivamente un subdirectorio de un gran repositorio de git y seguir todos los renombramientos de ese directorio al pasado?

Respuestas a la pregunta(3)

Su respuesta a la pregunta