informatica:programacion:cursos:control_version_git_avanzado:submodulos
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:cursos:control_version_git_avanzado:submodulos [2023/05/29 11:21] – [Submódulos] tempwin | informatica:programacion:cursos:control_version_git_avanzado:submodulos [2023/06/16 16:02] (actual) – tempwin | ||
|---|---|---|---|
| Línea 2: | Línea 2: | ||
| Sección perteneciente al curso [[informatica: | Sección perteneciente al curso [[informatica: | ||
| + | |||
| ===== Introducción ===== | ===== Introducción ===== | ||
| + | |||
| + | A veces estaremos desarrollando una aplicación modular que puede tener partes de código que están compartidas con otras aplicaciones o en las que hay un grupo de desarrolladores que solo toca cierto código. En estos casos, tener un solo repositorio git para toda la aplicación, | ||
| + | |||
| + | Para esto, git ofrece los submódulos: | ||
| ===== Repositorios anidados ===== | ===== Repositorios anidados ===== | ||
| + | |||
| + | Tener repositorios dentro de otros (repositorios anidados) de manera independiente es posible con git gracias a los **submódulos**. | ||
| + | |||
| + | Útil para cuando hay jerarquía de proyectos/ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Hay poca documentación sobre los submódulos y es muy técnica lo que hace que sea algo difícil manejarse con ellos | ||
| + | </ | ||
| + | |||
| ===== Como crearlos y como trabajar con ellos ===== | ===== Como crearlos y como trabajar con ellos ===== | ||
| + | |||
| + | ==== Añadir submódulo al módulo padre ==== | ||
| + | |||
| + | < | ||
| + | git submodule add <URL> [subcarpeta] | ||
| + | </ | ||
| + | |||
| + | El submódulo tendrá su propio repositorio remoto, que será totalmente independiente del repositorio padre. El padre tendrá referencias a él. | ||
| + | |||
| + | El repositorio padre generará un archivo '' | ||
| + | |||
| + | ==== Clonar un módulo padre con sus submódulos ==== | ||
| + | |||
| + | Método 1: | ||
| + | |||
| + | < | ||
| + | git clone <URL> --recurse-submodules | ||
| + | </ | ||
| + | |||
| + | Método 2: | ||
| + | |||
| + | < | ||
| + | git clone <URL> | ||
| + | git submodule init | ||
| + | git submodule update | ||
| + | </ | ||
| + | |||
| + | ==== Actualizar submódulos (desde repositorio padre) ==== | ||
| + | |||
| + | < | ||
| + | git pull | ||
| + | git submodule update [nombre_submódulo] | ||
| + | </ | ||
| ===== Conclusión ===== | ===== Conclusión ===== | ||
informatica/programacion/cursos/control_version_git_avanzado/submodulos.1685352116.txt.gz · Última modificación: por tempwin
