Herramientas de usuario

Herramientas del sitio


informatica:programacion:cursos:control_version_git_avanzado:submodulos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:cursos:control_version_git_avanzado:submodulos [2023/06/16 15:41] – [Introducción] tempwininformatica: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:programacion:cursos:control_version_git_avanzado|Control de versiones con Git Avanzado]]. Sección perteneciente al curso [[informatica:programacion:cursos:control_version_git_avanzado|Control de versiones con Git Avanzado]].
 +
 ===== Introducción ===== ===== Introducción =====
  
Línea 7: Línea 8:
  
 Para esto, git ofrece los submódulos: repositorios git, dentro de otro repositorio git. Un repositorio git "padre" que está controlando los cambios en repositorios "hijo". Estos repositorios hijo pueden estar aislados entre sí y no saber nada del padre. Para esto, git ofrece los submódulos: repositorios git, dentro de otro repositorio git. Un repositorio git "padre" que está controlando los cambios en repositorios "hijo". Estos repositorios hijo pueden estar aislados entre sí y no saber nada del padre.
 +
 ===== 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/módulos.
 +
 +<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
 +</WRAP>
 +
 ===== Como crearlos y como trabajar con ellos ===== ===== Como crearlos y como trabajar con ellos =====
 +
 +==== Añadir submódulo al módulo padre ====
 +
 +<code>
 +git submodule add <URL> [subcarpeta]
 +</code>
 +
 +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 ''.gitmodules'' con información sobre los submódulos que le hemos añadido.
 +
 +==== Clonar un módulo padre con sus submódulos ====
 +
 +Método 1:
 +
 +<code>
 +git clone <URL> --recurse-submodules
 +</code>
 +
 +Método 2:
 +
 +<code>
 +git clone <URL>
 +git submodule init
 +git submodule update
 +</code>
 +
 +==== Actualizar submódulos (desde repositorio padre) ====
 +
 +<code>
 +git pull
 +git submodule update [nombre_submódulo]
 +</code>
  
 ===== Conclusión ===== ===== Conclusión =====
informatica/programacion/cursos/control_version_git_avanzado/submodulos.1686922908.txt.gz · Última modificación: por tempwin