Los submódulos de Git permiten incluir un repositorio dentro de otro como una referencia versionada. Mantienen independencia de historial.
Añadir un submódulo
git submodule add <url> <path> clona el repositorio y crea un archivo .gitmodules. El commit padre registra el hash exacto del submódulo.
Clonar con submódulos
git clone --recurse-submodules <url> clona el proyecto y todos los submódulos. Para repos existentes: git submodule update --init --recursive.
Actualizar submódulos
git submodule update --remote actualiza al último commit de la rama configurada. Luego commitear el cambio de hash en el repositorio padre.
Alternativas modernas
Submódulos tienen limitaciones (cambios desacoplados, flujo complejo). Considera monorepos con npm/pnpm workspaces, o herramientas como subrepo.

