Как извлечь подкаталог git и сделать из него подмодуль?

Оформить заказ git filter-branch.

Examples section на странице git-submodules руководства показывает, как submodule извлечь подкаталог в собственный git-commands проект, сохраняя при этом git всю его историю и удаляя git-commands историю других файлов / каталогов submodule (именно то, что вы ищете).

Чтобы git переписать репозиторий, чтобы submodules он выглядел так, как если git-commands бы foodir/ был его корнем проекта, и submodule отбросить всю остальную историю:

   git filter-branch --subdirectory-filter foodir -- --all

Таким git образом, вы можете, например, превратить git-commands подкаталог библиотеки в собственное submodules хранилище.
Обратите внимание submodules на --, который отделяет параметры submodules filter-branch от параметров редакции, и git-submodules на --all для перезаписи всех ветвей git-submodules и тегов.

git

git-submodules

2022-09-06T08:06:33+00:00