Submódulos en Git con git submodule


En este post vamos a dar una introduccion a git submodule, para qué sirve, y te voy a dar un ejemplo práctico bien claro

oscar Escrito por oscar 27 April 2025 577 0

En este post vamos a dar una introduccion a git submodule, para qué sirve, y te voy a dar un ejemplo práctico bien claro.

📦 ¿Qué es un submódulo en Git?

Un submódulo es básicamente otro repositorio Git dentro de tu repositorio.

🧠 ¿Para qué sirven los submódulos?

Ejemplo clásico:
➔ Un proyecto principal (MiWeb) que incluye como submódulo una librería (MiLibreria).

🛠️ ¿Cómo funcionan los submódulos?

🧪 Ejemplo práctico de uso de submódulos

1. Agregar un submódulo

git submodule add https://github.com/usuario/proyecto-submodulo.git carpeta_submodulo

Esto hace:

2. Inicializar y clonar un proyecto que ya tiene submódulos

Si clonas un repo que tiene submódulos:

git clone https://github.com/usuario/proyecto-principal.git cd proyecto-principal 
git submodule init 
git submodule update

O directamente en un solo paso:

git clone --recurse-submodules https://github.com/usuario/proyecto-principal.git

3. Actualizar un submódulo

Si alguien actualizó el submódulo y vos querés traer esos cambios:

git submodule update --remote carpeta_submodulo

4. Eliminar un submódulo

Un poco más manual, pero en general:

git submodule deinit carpeta_submodulo 
git rm carpeta_submodulo 
rm -rf .git/modules/carpeta_submodulo

📚 Archivos que maneja Git con submódulos

Archivo Qué guarda
.gitmodules Información sobre los submódulos (ruta y URL)
Índice de Git Guarda el commit específico del submódulo

🚨 Atención especial con submódulos

🎯 Resumen en una frase

Un submódulo en Git es otro proyecto Git dentro del tuyo, que podés controlar y actualizar sin mezclar historiales.


Comentario

Debe aceptar antes de enviar