@F3NS

Как сделать коммит в родительском проекте с изменениями из сабмодуля при помощи пре-коммит хука?

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

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

Вижу сразу два сообщения
1) о том, что изменения проиндексированы и они попадут в коммит
2) что появились новые коммиты в подмодуле и нужно обновить (??????) и что нет изменений которые попадут в коммит
Изменения на сервер не прилетают как видно из скрина №1

На скрине №2
я выполняю git status чтобы увидеть снова эти сообщения, но осталось только одно сообщение - все готово и индексировано - коммить
5c223a0a790d2371112504.jpegНа скрине №3 я выполняю снова коммит и тогда появляется коммит в родительском проекте

5c223a24dfa8d201984803.jpeg

Вопрос почему это не отрабатывает с первого раза? Перерыл весь stackover.Только начал работать с сабмодулями. Надеюсь на вашу помощь.
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
@F3NS Автор вопроса
Я все таки нашел причину, почему это происходит. Дело в том, что git add в pre-commit работает не в каждой версии и обсуждений на этот счет много.

https://stackoverflow.com/questions/51778574/git-a...

Его частое поведение он индексирует изменения, но они попадут только в следующий коммит. Т.е у вас появляются сразу два противоречивых сообщения, что изменения проиндексированы и одновременно что есть новые изменения, но они не проиндексированы. Просто хочу добавить, что я потратил 2 дня на поиска ответа.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
ООО "СИРЕНА БАС" Москва
от 50 000 до 100 000 руб.
Amigoweb Магнитогорск
от 50 000 до 70 000 руб.
Amigoweb Магнитогорск
от 50 000 до 70 000 руб.