¿Cómo funciona Git Submodule??

¿Cómo funciona Git Submodule??
Git Submodule es un subdirectorio o componente GIT de otro host, repositorio de git, que simplemente se refiere a una confirmación específica en otro repositorio de git externo. Los submódulos son estáticos y realizan un seguimiento solo de los compromisos particulares. No rastrean las ramas o las referencias GIT y no se actualizan automáticamente con el repositorio del host. Los submódulos Git le permiten habilitar el repositorio de GIT para incorporar y rastrear el historial de versiones de todo el código externo. Cuando un usuario incluye un submódulo a un repositorio de git, un nuevo archivo con el nombre .gitmodules creará.

En este artículo, le daremos una idea sobre cómo usar submódulos Git en un repositorio externo en el sistema Linux.

Requisitos previos

Asegúrese de que GIT ya esté instalado en su sistema.

Para verificar la instalación de GIT, escriba el siguiente comando en su terminal:

$ git -version


Hemos implementado todos los comandos relacionados con los submódulos Git en la distribución CentOS 8 Linux que discutiremos en detalle en los pasos mencionados a continuación:

¿Cuándo se deben usar submódulos Git??

Para la administración de versiones estrictas de las dependencias externas de su proyecto, puede usar las funciones de submódulos de git. Los siguientes son escenarios para donde puede usar submódulos Git:

  • Cuando un subproyecto o componente externo está cambiando rápidamente, o los próximos cambios pueden romper la API configurada, entonces, en esta situación, bloquea el código para una confirmación particular para la seguridad de su proyecto.
  • Cuando tiene un proyecto específico con un tercero, y quieren integrar un nuevo lanzamiento dentro de su proyecto.

Agregar nuevo submódulo Git

El comando Git Submodule Add se usa para agregar un nuevo submódulo a un repositorio de git existente. Abra el terminal desde el panel de la barra lateral izquierda en el sistema CentOS 8. Usando el siguiente ejemplo, podemos explicar mejor, en el que crearemos un nuevo repositorio de git vacío y luego agregaremos submódulos Git.

$ mkdir git-submodule-demo
$ cd git-submodule-demo/
$ git init


En los comandos mencionados anteriormente, primero hemos creado un nuevo directorio con el nombre 'git-submodule-demo' y navegar en este directorio. Hemos inicializado este directorio como un nuevo repositorio de git.

Ahora, agregue un nuevo submódulo GIT utilizando el comando 'git submodule add' en el que hemos utilizado URL como parámetro que se refiere a un repositorio de git en particular. Hemos agregado un submódulo 'awesomelibrary' en el repositorio recién creado anterior.

$ git submódulo agregue https: // bitbucket.org/Jaredw/Awesomelibrary


Git clonará este submódulo. Una vez que se completa el proceso de submódulo, puede verificar el estado actual de su repositorio Git ejecutando el siguiente comando:

Estado de $ git


Cuando ejecute el comando anterior en el terminal CentOS 8, notará que dos archivos nuevos están en este repositorio. Uno es '.GitModules 'y' Awesomelibrary '. Ahora, puede confirmar estos archivos en el repositorio de git original ejecutando los comandos 'git add' y 'git confirm'.

$ git add .gitmodules awesomelibrary/
$ git commit -m "agregado submódulo"

Clon git submódulos

Clon los submódulos utilizando el comando GSIT Clone. El siguiente comando creará directorios que contienen submódulos, pero no puede ver el archivo dentro de ellos.

$ git clone https: // bitbucket.org/jaredw/awesomelibrary/submódulos


Hay dos comandos adicionales utilizados para crear archivos de submódulo. Uno es el '.git submodule init 'que copia'.mapeo de gitmodules en el local '.archivo git/config '. El comando 'Git Submodule Update' actualiza todos los datos del proyecto Submodule y verifica los cambios en el proyecto principal.

$ git submodule init
Actualización de submódulo de $ git


Ahora, navegaremos hacia el directorio de submódulos de Awesomelibrary. Crearemos un archivo de texto con el nombre 'new_awesome.txt 'agregando algo de contenido.

$ CD AWESOMELIBRARY/
$ git checkout -b new_awesome
$ echo "nuevo archivo increíble"> new_awesome.TXT
Estado de $ git


Aquí, agregaremos y cometeremos cambios en este nuevo archivo al submódulo.

$ git agregue new_awesome.TXT
$ git commit -m "agregó nuevo archivo de texto increíble"


Ahora, navegue por el repositorio principal y revise el estado del repositorio matriz.

$ CD ..
Estado de $ git


Como puede ver, 'Awesomelibrary' ha sido modificado.

Conclusión

Hemos visto en este artículo que al usar el submódulo Git, puede usar fácilmente el repositorio de Git como una herramienta de gestión de dependencia externa. Revisar los usos y los inconvenientes de los submódulos GIT antes de implementar esta función GIT y luego adoptarla.