Repositorios GIT anidados

por David Abad
Repositorios GIT anidados

En muchas ocasiones es necesario inicializar un repositorio GIT dentro de otro para versionar una parte concreta de un proyecto. Para conseguir esto, GIT incluye el concepto de “submódulos” pensado para este tipo de situación. 

Ejemplo repositorios anidados

Anidar repositorios con GIT Submodules

Para inicializar un repositorio anidado dentro de otro mediante esta técnica, se debe lanzar el siguiente comando desde el directorio principal del proyecto:

git submodule add https://github.com/dabad-es/repositorio-anidado1 DirectorioAnidado1

Al lanzar el comando anterior, se inicializará el repositorio anidado en el directorio indicado (DirectorioAnidado1), desde el que ya podremos trabajar con normalidad con los comandos GIT habituales.

De forma adicional, se generará el fichero .gitmodules en el directorio principal que incluye información sobre los submódulos inicializados:

[submodule "DirectorioAnidado1"]
	path = DirectorioAnidado1
	url = https://github.com/dabad-es/repositorio-anidado1

Este fichero permitirá inicializar los submódulos del proyecto de forma sencilla mediante los siguientes comandos, cuando un nuevo usuario clone el repositorio principal: 

git submodule init
git submodule update

Eliminar repositorio anidado

Por desgracia, GIT no ofrece una manera automática de eliminar repositorios anidados que ya están incluidos e inicializados en el repositorio principal de un proyecto, por lo que para eliminarlos será necesaria una eliminación manual mediante los siguientes pasos:

git submodule deinit DirectorioAnidado1
git rm DirectorioAnidado1
git commit -m "Eliminado repositorio anidado"
rm -rf .git/modules/DirectorioAnidado1

También es recomendable editar el fichero .gitmodules para eliminar de forma manual la referencia al repositorio anidado.

Déjanos tu email para recibir contenido interesante en tu bandeja de entrada, cada mes.

¡No hacemos spam!

Otros artículos