Los submodules no se sincronizan con Git

Tengo una biblioteca que se basa en una serie de otros componentes. Configuré el proyecto principal y luego agregué varios submodules usando el submodule git add [url] [path].

El proyecto original funciona bien. Cada vez que agregué un submodule lo cloné en el directory correcto.

- Main project -- Sub project [cloned correctly] 

Después de eso, empujé el proyecto original a git. Ahora, cuando clono el proyecto principal, aparecen los directorys secundarios del proyecto pero están vacíos.

 - Main project -- Sub project just empty folder 

Los .gitmodules se llenan correctamente pero en el proyecto principal recién clonado, la carpeta .git / modules está vacía.

No hay commands como git submodule sync o git submodule update work. Sin embargo, si vuelvo a agregar manualmente los modules, aparecen en los directorys sin tener que volver a downloadlos. Dice:

 Reactivating local git directory for submodule 

Es casi como si git tuviera los modules almacenados internamente, pero no los agrega al sistema de files.

¿Cuál es la mejor práctica para una situación como esta?

Después de la clonación, debes:

 git submodule init git submodule update 

O

clone el repository principal y obtenga los submodules al mismo time con:

 git clone --recursive URL 

estás perdido

 git submodule init 

en los clones (antes de que puedas ejecutar con éxito la git submodule update )