es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La configuración de submodule.recurse de Git no está funcionando (Git Bash).

Estoy usando “Git Bash for Windows”, versión “2.34.1.windows.1”. Me gustaría que Git inicializara automáticamente los submódulos cuando hago un “clone”, “checkout” o “pull”. Encontré esta pregunta (https://stackoverflow.com/questions/4611512/is-there-a-way-to-make-git-pull-automatically-update-submodules), pero la respuesta aceptada, donde se configura con

git config --global submodule.recurse true

no tiene ningún efecto. Después de hacer un “clone” todavía tengo que ingresar al repositorio y hacer

git submodule update --init

para obtener un submódulo.

¿Hay algo que me esté perdiendo? ¿Ha cambiado algo entre esas versiones anteriores de Git y la que estoy usando ahora? ¿Es posible que la versión de Windows no respete esta configuración?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para inicializar automáticamente los submódulos al hacer un clone, checkout, o pull en Git Bash para Windows versión 2.34.1.windows.1, es necesario utilizar la opción --recurse-submodules al ejecutar esos comandos. Por ejemplo:

    • git clone --recurse-submodules <url del="" repositorio=""> clonará el repositorio e inicializará todos sus submódulos.
    • git checkout --recurse-submodules <nombre de="" la="" rama=""> hará checkout de una rama e inicializará todos sus submódulos si aún no han sido inicializados.
    • git pull --recurse-submodules actualizará el repositorio y sus submódulos.

    Es importante destacar que la opción --recurse-submodules solo funcionará si el repositorio tiene un archivo .gitmodules que define sus submódulos. Si la opción --recurse-submodules aún no funciona, puede ser necesario ejecutar manualmente git submodule update --init para inicializar los submódulos.

    En cuanto al comando git config --global submodule.recurse true, teóricamente debería funcionar para inicializar automáticamente los submódulos al clonar, hacer checkout o pull, pero es posible que no funcione en todos los casos. Es posible que la versión de Git Bash para Windows no respete esta configuración o que pueda haber otro conflicto de configuración. En cualquier caso, utilizar la opción --recurse-submodules parece ser una solución alternativa confiable.

Comments are closed.