Почему submodule переключается на HEAD после update?
Мой гит репо использует submodule и когда я стягиваю изменения в своем основном репо я так же в терминале делаю эту команду
git submodule update --recursive
и когда я открываю свой submodule я вижу, что вместо того, чтоб быть на dev ветке он почему то переключается на HEAD которая имеет поинтер на пару недель назад, то есть не обновленная и я как бы руками опять ее переключаю на dev (и HEAD при этом исчезает)
В общем я не совсем пойму, я ожидаю, что при вызове команды update --recursive все сабмодули должны подтянуть последние изменения веток на которых они стоят, то есть если в сабмодуле активная ветка сейчас dev то он должен подтянуть все последние изменения с дев, а не создавать HEAD которые еще и не обновленный...
что делаю не так?
Ответы (1 шт):
что делаю не так?
Вот это:
я ожидаю, что при вызове команды update --recursive все сабмодули должны подтянуть последние изменения веток на которых они стоят
К сожалению, это так не работает - update затянет те коммиты, хэши которых сохранены в корневом репозитории.
К счастью, есть дополнительные ключи, которые заставят git делать то, что вы хотите:
git submodule update --remote --merge