Agregar submódulos de Git
Este post no fue escrito por ningún modelo de inteligencia artificial
Algunas veces cuando queremos agregar otro repositorio de git a nuestro proyecto para usarlo como dependencia, tenemos una estructura de directorios que necesita tenerlo dentro de un directorio en específico. Por ejemplo, digamos que tenemos algo como esto:
.
├── lib
│ └── our_submodule_should_be_here
└── src
└── main.c
Así que sólo tenemos que ir a ese directorio, por ejemplo:
cd project/lib/
Y luego ejecutar el siguiente comando, reemplazando el repositorio que queremos por supuesto.
git submodule add https://github.com/hextreeio/faultier.git
Si quisiéramos ese submódulo en la raíz del proyecto simplemente tendríamos que hacerlo en la raíz
Si quisieras que el nombre del directorio generado fuera diferente a faultier
que es el que se generaría por el propio nombre del repositorio, tendrías que hacerlo agregando como opción al final
git submodule add https://github.com/hextreeio/faultier.git other_dir_name
Submódulo con submódulos
Si el submódulo que agregamos tiene submódulos como dependencias, lo que tenemos que hacer es lo siguiente:
- Navegar dentro del submodulo, para el ejemplo:
cd faultier/
- Registrar los submódulos
git submodule init
- Actualizar los submódulos
git submodule update
Tendríamos algo como lo siguiente:
❯ git submodule init
Submodule 'nanopb' (https://github.com/nanopb/nanopb.git) registered for path 'nanopb'
faultier on main via C v16.0.0-clang via △ v3.30.3
❯ git submodule update
Cloning into '/Users/deimos/dev/embedded/electronic_cats/faultycat/firmware/c/faultier/nanopb'...
Submodule path 'nanopb': checked out 'e34dfae6f1aeb87cbe1c05a8fb96f5b9cb1034f6'