Lista de submódulos de Git

John Wachira 15 febrero 2024
  1. ¿Qué es un submódulo Git?
  2. Crear un submódulo de Git
  3. Comandos comunes de Git para submódulos
  4. Listar submódulos en Git
Lista de submódulos de Git

En este artículo, discutiremos los submódulos de Git. Cubriremos lo que son, el propósito de los submódulos y el flujo de trabajo general.

Los submódulos de Git nos permiten mantener un repositorio como subdirectorio de otro repositorio. En palabras más simples, los submódulos son una referencia a otros repositorios en ciertos períodos de tiempo.

¿Qué es un submódulo Git?

Si la explicación anterior no aclaró las cosas, esta debería hacerlo.

Un submódulo de Git se puede comparar con un registro en un repositorio de host que hace referencia a un commit en otro repositorio. En general, los submódulos son estáticos y realizan un seguimiento de las commits especificadas.

No rastrean ramas o referencias y no se actualizan cuando los cambios se insertan en el repositorio del host.

Git crea un archivo .gitmodules cada vez que creamos un submódulo en nuestro repositorio. El archivo contiene los metadatos del submódulo y el mapeo con nuestro repositorio.

La creación de múltiples submódulos dará como resultado múltiples archivos gitmodules.

Crear un submódulo de Git

La primera pregunta que debemos hacernos es ¿cuándo debemos crear un submódulo?

Estos son algunos escenarios en los que es mejor crear un submódulo de Git.

  1. Cuando un subproyecto o un componente externo cambia rápidamente, es mejor bloquear su código en un commit específica. Lo mismo se aplica si anticipa cambios próximos que pueden romper la API.
  2. Al rastrear componentes como dependencias de proveedores. Esto suele ocurrir cuando no estamos actualizando un componente específico con regularidad.
  3. Cuando queremos integrar cambios de un tercero en un momento concreto. Funciona mejor cuando no tiene actualizaciones frecuentes.

Comandos comunes de Git para submódulos

Veamos algunas opciones de uso común en nuestra línea de comandos.

Agregar submódulo de Git

Usamos el comando git add submodule para crear un nuevo submódulo en nuestro repositorio de host. Este es el flujo de trabajo típico al crear submódulos de Git.

$ git submodule add <Repo URL>

El comando git submodule add requiere un parámetro de URL que apunte a un repositorio. Git clonará el submódulo y podemos ejecutar el comando git status para ver el nuevo estado del repositorio.

Veamos un ejemplo. Agreguemos un submódulo a nuestro repositorio Delftscopetech.

comando git submodule add

Ahora podemos ejecutar el comando git status como se muestra a continuación.

$ git status

comando git

Como se vio arriba, ahora tenemos dos nuevos archivos, .gitmodules y Learn-Submodules. Podemos agregar los archivos y confirmar los cambios.

git submodule init

Ejecutamos el comando git submodule init para copiar la asignación de nuestro submódulo del archivo .gitmodules a nuestro archivo de configuración local. Viene en embrague cuando tenemos varios submódulos en nuestro repositorio.

Listar submódulos en Git

El comando git submodule init se basa en el archivo .gitmodules. Podemos ver una lista de todos los submódulos confiando en el mismo archivo.

Primero, tendremos que analizar el archivo. Corremos:

$ git config --file .gitmodules --name-only --get-regexp path

Entonces podemos ejecutar:

$ git config --file .gitmodules --get-regexp path | awk '{ print $2 }'

El comando anterior mostrará la ruta a los submódulos presentes en su repositorio.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Submodule