Подмодуль очень похож на независимый репозиторий - он ничего не знает о том, включен ли он как подмодуль в родительский репозиторий. Родительский репозиторий тоже не так много знает о подмодуле - просто где он должен быть в дереве, с какой фиксацией должен быть подмодуль и с какого URL-адреса его изначально клонировать ...
Я не думаю, что есть команда, которая выдвинет все ваши подмодули для вас - последовательность событий, когда вы обновляете некоторые файлы в подмодуле, должна быть:
cd theme
# [Change or add some files, etc.]
# Now commit those changes:
git commit -a
# Push them to the origin repository, assuming you're on the master branch:
git push origin master
# Change up to the parent repository:
cd ..
# Create a commit with the new version of that submodule:
git add theme
git commit -m "Committing a new version of the theme submodule"
# Now push the commit that includes a pointer to the new submodule
# version in the parent repository:
git push origin master
Типичная проблема здесь - отправка коммита в родительский репозиторий, который ссылается на версию субмодуля, которую вы еще не выдвинули из версии субмодуля. Может оказаться полезным создать сценарий, чтобы вы не забыли ни одного из этих шагов.