A partir de Git 1.7.5 debería actualizar los submódulos automáticamente de forma predeterminada como lo desea.
[EDIT: por comentarios: el nuevo comportamiento 1.7.5 es automáticamente ir a buscar la última se compromete a submódulos, pero no a actualización ellos (en el sentido git submodule update
). Entonces la información en esta respuesta es relevante como fondo, pero no es una respuesta completa en sí misma. Aún necesita un alias para extraer y actualizar submódulos en un comando.]
El comportamiento predeterminado, "bajo demanda", es actualizar los submódulos siempre que obtenga un compromiso que actualice la confirmación del submódulo, y este compromiso no es ya localizado en tu clon local.
También puede tenerlo actualizado en cada búsqueda o nunca (pre-1.7.5 comportamiento supongo).
La opción de configuración para cambiar este comportamiento es fetch.recurseSubmodules
.
Esta opción se puede establecer en un valor booleano o en on-demand
.
Al establecerlo en un valor booleano se cambia el comportamiento de fetch
y pull
para que se repita incondicionalmente en los submódulos cuando se establece en verdadero o no se repite en absoluto cuando se establece en falso.
Cuando se establece en on-demand
(el valor predeterminado), fetch
y pull
sólo recursiva en un submódulo poblada cuando su SuperProject recupera de una confirmación que actualiza la referencia del submódulo.
Ver:
para más información.
git fetch --recurse-submodules[=yes|on-demand|no]
Relacionados: http://stackoverflow.com/questions/1899792/why-is-git-submodule-update-not-automatic – philfreo
¿Por qué un alias git es preferible a un alias de shell? – wnoise
Los alias de git son agradables porque encapsula el comando en el espacio de nombre "git". También puede preguntar por qué todos los comandos de git comienzan con "git" en lugar de tener sus propios nombres. –