Extraiga los submódulos de git después de clonar el proyecto de GitHub

90

Tengo un proyecto que tiene submódulos especificados en él. Todo funciona bien en la máquina de desarrollo. He comprometido el .gitmodulesarchivo y he sacado la producción. Sin embargo, no extrajo submódulos.

Si entro en los directorios del submódulo y llamo git pull, no pasa nada.

¿Cuál es la forma correcta de extraer esos submódulos en el nuevo proyecto?

hsz
fuente

Respuestas:

140

Desde la raíz del repositorio, simplemente ejecute:

git submodule update --init
Matt Cooper
fuente
8
Creo que esto realmente actualizará sus dependencias. Creo S. Russel tenía el comando de la derecha en su comentario a continuación:git pull --recurse-submodules
Spencer
37

Si necesita extraer cosas para submódulos en sus repositorios de submódulos, use

git pull --recurse-submodules

Pero esto no comprobará las confirmaciones adecuadas (a las que apunta su repositorio principal) en los submódulos

Para verificar las confirmaciones adecuadas en sus submódulos, debe actualizarlas después de extraer usando

git submodule update --recursive
S. Rasel
fuente
1
git submodule update --recursivees lo que necesitaba después de la primera vez git clone, pero olvidé hacerlo --recursivea la primera ¡Gracias!
mbb
8
Esto no parece funcionar para mí. Los submódulos permanecen vacíos.
CodeMonkey
@CodeMonkey es lo mismo para mí.
linkerx
6
Puede que sea demasiado tarde para la fiesta, pero para cualquiera que haya terminado aquí: git submodule update --init --recursiveresuelva mi problema
Iglesk
21

Si hay submódulos anidados, necesitará usar:

git submodule update --init --recursive
Iglesk
fuente