¿Cómo crear un nuevo repository a partir de los files seleccionados?

Digamos que tengo un código para la aplicación y dos bibliotecas en mi repository.

$ tree -d . . ├── app ├── libA └── libB 

En algún momento, el libA está libA complejo. Me gustaría convertirlo en un nuevo repository separado para una administración fácil. Y para poder usar con otra aplicación.

¿Hay alguna forma de extraer solo files en libA junto con su historial al nuevo repository creado sin ningún historial de otros files afuera?

Podría usar --subdirectory-filter

Sin embargo, parece un duplicado de Cómo mover files de un repository git a otro (no a un clon), preservando el historial .