Eliminar un submódulo en Git

Azhar Bashir Khan 16 febrero 2024
Eliminar un submódulo en Git

Este tutorial demuestra cómo eliminar un submódulo en git.

Al desarrollar un proyecto de software, a menudo usamos marcos y bibliotecas externos requeridos por nuestro proyecto. Estos marcos y bibliotecas pueden ser de código abierto y mantenerse en un repositorio de git.

Es posible que deseemos mantener el código fuente de dichas bibliotecas externas en nuestro directorio de proyectos en nuestro repositorio de git. La función de submódulos de git nos permite mantener dichas fuentes externas, que son repositorios Git separados, como subdirectorios en nuestro repositorio Git de proyecto.

Luego, podemos decidir eliminar dichos submódulos de Git, ya que es posible que ya no sean relevantes para nuestro proyecto.

Ahora lo explicaremos con un ejemplo.

Eliminar un submódulo en Git

Cuando trabajamos en proyectos de software, a menudo necesitamos usar fuentes externas de las bibliotecas. Las bibliotecas externas pueden ser desarrolladas por un tercero o un equipo diferente.

Estas bibliotecas externas se pueden rastrear en un repositorio Git separado.

Podemos usar la función de submódulo de Git para incorporar un repositorio de Git externo como un subdirectorio del repositorio de Git de nuestro proyecto. Por lo tanto, podemos clonar otro repositorio en nuestro proyecto y mantener los commits de cada uno por separado.

Por lo general, podemos reemplazar o eliminar dichas bibliotecas externas. Podemos sentir que nuestro proyecto ya no necesita una biblioteca externa de este tipo.

Por lo tanto, decidimos eliminar la biblioteca externa de nuestro repositorio Git del proyecto. Para esto, debemos eliminar el submódulo Git de la biblioteca externa.

Supongamos que tenemos un submódulo good-ext-lib presente en el repositorio Git de nuestro proyecto. Ahora queremos que el submódulo good-ext-lib se elimine del repositorio de Git y del sistema de archivos.

Necesitamos ejecutar los comandos de Git de la siguiente manera para eliminar el submódulo.

$ git submodule deinit -f path/to/good-ext-lib

$ rm -rf .git/modules/path/to/good-ext-lib

$ git rm -f path/to/good-ext-lib

El comando git submodule deninit anula el registro del submódulo good-ext-lib. Elimina toda la sección submodule.$name del archivo git/config. Además, elimina el árbol de trabajo del submódulo.

El comando rm -rf con la ruta del submódulo good-ext-lib en la carpeta .git elimina el directorio del submódulo del directorio .git/modules de nuestro proyecto.

El comando git rm con la ruta del submódulo good-ext-lib en el directorio del proyecto elimina los datos de seguimiento del superproyecto (nuestro proyecto). Elimina la entrada gitlink. Además, elimina la sección de submódulo presente en el archivo .gitmodules y organiza el archivo.

Finalmente, debemos confirmar la eliminación del submódulo good-ext-lib de la siguiente manera.

$ git commit -m "removed submodule good-ext-lib"

Por lo tanto, ahora hemos eliminado el submódulo good-ext-lib del directorio del proyecto en Git.

Por lo tanto, hemos mostrado cómo eliminar un submódulo en Git.

Para mayor información por favor visite -

  1. git-submodule
  2. Tutorial de submodule de Git

Artículo relacionado - Git Submodule