Разрабатываю pre-commit хук для гита, моделирую ситуация когда разработчик зашел на своей локальной тачке в подмодуль - изменил файл - вернулся в родительский проект и и сделал git add . и git commit после чего сработал данный хук. Весь текст хука значения не имеет оставлю только нужную часть.
Скрин 1.

Используя git submodule foreach
1) обращаюсь к подмодулю
2) индексирую изменения
3) делаю коммит
Собственно, когда отрабатывает хук я вижу что создался новый коммит в подмодуле
4 шагом я пытаюсь проиндексировать изменения в родительском проекте обращаясб просто git add deploy (это название подмодуля)
Вижу сразу два сообщения
1) о том, что изменения проиндексированы и они попадут в коммит
2) что появились новые коммиты в подмодуле и нужно обновить (??????) и что нет изменений которые попадут в коммит
Изменения на сервер не прилетают как видно из скрина №1
На скрине №2
я выполняю git status чтобы увидеть снова эти сообщения, но осталось только одно сообщение - все готово и индексировано - коммить
На скрине №3 я выполняю снова коммит и тогда появляется коммит в родительском проекте

Вопрос почему это не отрабатывает с первого раза? Перерыл весь stackover.Только начал работать с сабмодулями. Надеюсь на вашу помощь.