Actualmente uso submódulos para el desarrollo y no solo para relacionar bibliotecas de terceros. Hay algunas formas en las que puede hacer la vida más fácil con submódulos, especialmente cuando son la fuente de conflictos de fusión o rebase. Mire a ls-tree para obtener las 2 confirmaciones involucradas en un conflicto en el submódulo. Esta es probablemente la parte más difícil de manejar de los submódulos para las personas. Por ahora, las secuencias de comandos harán que sea mucho más fácil trabajar con esto. Las versiones futuras de Git deberían tener un mejor soporte nativo para lidiar con ellos.
Espero que esto ayude.