¿Es posible que un submódulo git esté hecho de varios otros submódulos git, y que el supergit repo obtenga el contenido de cada submódulo?
He intentado hacer esto usando el enfoque obvio / ingenuo de crear un repositorio git que contenga varios submódulos.
Luego, agregue este repositorio de git a otro repositorio de git como submódulo.
Luego intenta extraer desde el directorio raíz del super git repo por git submodule inity luego git submodule update. Pero esto no puede recuperar los sub-submódulos.
git
git-submodules
primer respondedor
fuente
fuente

Respuestas:
Como se menciona en Retrospectivamente, agregue --recursive a un repositorio git
Deberia trabajar.
fuente
git submodule init; git submodule update --recursiveera sinónimo de lo anterior, pero no lo es.--initbandera, los submódulos, dentro de uno de mis submódulos, simplemente se inicializan a versiones antiguas, no a las más actuales.git submodule foreach git pull origin master, y funciona parcialmente: los submódulos se actualizan, pero a vecesHEADse separa y para los submódulos dentro de los submódulos, no puedo confirmar los cambios de mi submódulo directo porque tiene "contenido modificado" no "nuevos compromisos" (ya que sus propios submódulos tienen "nuevos commits" y se actualizan).Como comenta Sridhar a continuación, desde Git1.6.5 +,
git clone --recursiveahora es la alternativa oficial, descrita en:git clone --submodule"--recursivea un repositorio de git "(con el
alias $ git config --global alias.cloner = 'clone --recursive', que evita sombrear elgit clonecomando normal )inamiy señala correctamente el
git submodule update --init --recursivecomando, introducido en commit b13fd5c , nuevamente en git1.6.5, por Johan Herland (jherland) .Y IceFire agrega en los comentarios :
(respuesta original anterior)
De acuerdo con la página del manual
debería actualizar cualquier submódulo anidado. Pero la parte init puede no ser recursiva.
Dependiendo de su versión de Git, podría recurrir a un enfoque más "scripting", con este artículo Actualización periódica de submódulos de Git que permite el inicio y la actualización recursiva:
fuente
git clone --recursivesuficiente?git submodule update --init <submoduleName>es el camino a seguir; Llegué aquí cuando buscaba esta respuesta