Saltar al contenido

Reintegrar submodulos en git

En un artículo anterior veíamos como podíamos dividir un proyecto en submódulos y hoy veremos como podemos reunirlos de nuevo en el repositorio principal. Por desgracia es un poco complicado pero siguiendo la siguiente guía (encontrada en starkoverflow) lo conseguirás en un santiamén.

El primer paso: git submodule deinit

Para empezar debemos de desactivar el submódulo. Para ello tenemos el comando git submodule deinit que es el opuesto al que usamos para dar de alta el submódulo git submodule init. Sin embargo, como el objetivo final es reintegrar todo el código dentro del proyecto principal debemos conservar el contenido del submódulo llevandolo a una carpeta temporal con mv submodule_dir submodule_dir_tmp.

Tras ello debemos eliminar del repositorio el trabajo guardado del módulo con git rm -f submodule_dir.

Limpiar el directorio .git

Sin embargo, si tras eliminar el submódulo intentásemos agregar el código de nuevo tendríamos problemas y acabaríamos con un repositorio corrupto. Para ello debemos eliminar los datos relativos a ese submódulo del directorio .git con rm -rf .git/modules/submodule_dir.

Devolver el código

Finalmente podemos reañadir todo el código que apartamos en submodule_dir_tmp.

El proceso completo

El proceso completo quedaría como sigue:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.