Featured image of post Git Submodules: Dependencias anidadasFeatured image of post Git Submodules: Dependencias anidadas

Git Submodules: Dependencias anidadas

Complete guide to Git submodules covering initialization, cloning, updating, branching, CI/CD integration, alternatives like subtree and monorepo, and common pitfalls.

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.