Lista de submódulos de Git
- ¿Qué es un submódulo Git?
- Crear un submódulo de Git
- Comandos comunes de Git para submódulos
- Listar submódulos en 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.
- 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.
- Al rastrear componentes como dependencias de proveedores. Esto suele ocurrir cuando no estamos actualizando un componente específico con regularidad.
- 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
.
Ahora podemos ejecutar el comando git status
como se muestra a continuación.
$ git status
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 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