Tenga en cuenta que si ha cometido un montón de cambios en varios submódulos, puede (o será pronto capaz de) empujar todo en uno ir (es decir, uno empuje de la cesión temporal de los padres), con:
git push --recurse-submodules=on-demand
git1.7.11 ([ANNOUNCE] Git 1.7.11.rc1) menciona:
"git push --recurse-submodules
" aprendí a buscar opcionalmente en los historiales de los submódulos vinculados al superproyecto y sacarlos.
hecho probablemente después de this patch y la opción --on-demand
:
--recurse-submodules=<check|on-demand|no>::
Asegúrese de que todos submódulo comete utilizado por las revisiones que ser empujado están disponibles en una rama de seguimiento remoto.
- Si se utiliza
check
, se comprobará que todos los envíos submódulo que cambiaron en las revisiones que ser empujados están disponibles en un mando a distancia.
De lo contrario, la inserción se cancelará y saldrá con un estado distinto de cero.
- Si se usa
on-demand
, se presionarán todos los submódulos que cambiaron en las revisiones que se presionarán.
Si a pedido no pudo enviar todas las revisiones necesarias, también se cancelará y saldrá con un estado distinto de cero.
Esta opción solo funciona para un nivel de anidamiento. No se presionarán los cambios en el submódulo dentro de otro submódulo.
Nota: http://stackoverflow.com/questions/3131912/why-are-git-submodules-incompatible-with-svn-externals/3132221#3132221 y http://stackoverflow.com/questions/2879414/git -submodule-svn-external/2879490 # 2879490 puede ayudar a ilustrar la diferencia entre el submódulo y el externo. – VonC