Monorepos y submódulos de Git
Conozca las ventajas y desventajas de las configuraciones monorepo y multi-repo, y cómo los submódulos de Git integran un repositorio dentro de otro.
Monorepos y submódulos de Git es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Monorepo frente a multirrepo
Un monorepo almacena muchos proyectos en un solo repositorio. Una configuración multirrepo mantiene cada proyecto en su propio repositorio. Ambos enfoques son habituales a gran escala.
Por qué los equipos eligen monorepos
Los monorepos facilitan:
- Compartir código entre proyectos
- Refactorizar entre límites de forma atómica
- Utilizar un único sistema de CI y de versionado
Desafíos de los monorepos
Los monorepos grandes pueden crecer mucho y ralentizar los clones y la CI. Herramientas como sparse checkout y las cachés de compilación ayudan a gestionarlos.
¿Qué es un submódulo?
Un submódulo es un repositorio de Git independiente integrado dentro de otro repositorio en un commit específico. El repositorio externo registra qué commit del repositorio interno debe utilizarse.
Añadir un submódulo
Integre un repositorio externo en una ruta mediante git submodule add.
git submodule add https://github.com/org/shared-lib libs/sharedEl archivo .gitmodules
Git registra la ruta y la URL de cada submódulo en un archivo .gitmodules versionado en la raíz del repositorio.
[submodule 'libs/shared']
path = libs/shared
url = https://github.com/org/shared-libClonar con submódulos
Un clon normal deja vacías las carpetas de los submódulos. Use la opción recursiva para descargarlos también.
git clone --recurse-submodules https://github.com/org/appInicializar submódulos existentes
Si ya ha clonado el repositorio, extraiga el contenido de los submódulos con init y update.
git submodule update --init --recursiveActualizar un submódulo
Los submódulos permanecen fijados a un commit. Para pasar a la versión más reciente, actualícelo desde dentro y confirme el nuevo puntero en el repositorio principal.
git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'Submódulos frente a Subtree
git subtree es una alternativa que integra directamente el contenido de otro repositorio, evita la complejidad de los punteros fijados, pero pierde la separación clara.
Elegir un enfoque
Use un monorepo para proyectos estrechamente acoplados, submódulos para integrar una biblioteca compartida con versiones independientes y un enfoque multirrepositorio cuando los equipos sean completamente autónomos.
Comprobación rápida
Compruebe su comprensión de los monorepos y los submódulos.
Resumen
Ha aprendido sobre monorepos y submódulos:
- Los monorepos centralizan muchos proyectos; los repositorios múltiples los separan
- Los submódulos integran un repositorio fijado a un commit mediante
.gitmodules - Clone con
--recurse-submodules - Subtree es una estrategia alternativa para integrar repositorios
Preguntas frecuentes
¿La lección «Monorepos y submódulos de Git» es gratis?
Sí — el texto completo de «Monorepos y submódulos de Git» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Monorepos y submódulos de Git»?
Conozca las ventajas y desventajas de las configuraciones monorepo y multi-repo, y cómo los submódulos de Git integran un repositorio dentro de otro. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Monorepos y submódulos de Git»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Git en IDE y herramientas de desarrollo
- Soluciones empresariales de Git
- Escalado de Git para equipos grandes
- Monorepos y submódulos de Git