Обновление субмодуля между ветками - PullRequest
0 голосов
/ 04 апреля 2019

Мастер столкнулся с указанием на HASH_5 несколько дней назад, и я вижу этот коммит на мастере. Теперь я перебазировал свою ветвь функций от мастера и ожидал, что подмодуль в моей ветке функций будет указывать на HASH_5. Тем не менее, он по-прежнему указывает на HASH_1, и я не вижу способа переместить его в один из основных пунктов. Все параметры обновления для подмодуля используют либо хэш из суперпроекта, либо из удаленного источника (или HASH_1 или HASH_10). Когда я запускаю git log в своей ветви функций, я вижу коммит от мастера, который переводит подмодуль в HASH_5 - но коммит на самом деле не содержит никаких файлов. Насколько я знаю, текущий хеш подмодуля хранится прямо в хранилище объектов Git. У кого-нибудь есть идея, как переместить субмодуль в ветви объектов на мастер фиксации, на который указывает мастер фиксации?

Спасибо!

1 Ответ

0 голосов
/ 04 апреля 2019

В родительском репо.$ git submodule update

Из документов:

Обновите зарегистрированные подмодули, чтобы они соответствовали ожиданиям суперпроекта путем клонирования отсутствующих подмодулей и обновления рабочего дерева подмодулей.«Обновление» может быть выполнено несколькими способами в зависимости от параметров командной строки и значения переменной конфигурации submodule..update.Параметр командной строки имеет приоритет над переменной конфигурации.Если ничего не указано, проверка выполняется ...

Вы можете добавить ловушку после проверки, чтобы сделать это автоматически.

Однако, это будет обновляться, только если ваши подмодули былиправильно передан в родительский проект.Если нет, эти изменения в ваших подмодулях будут потеряны.Если вы хотите убедиться, что это так или нет: cd git log

Если вы видите коммиты в истории подмодулей, тогда вы хороши.

Способвнести изменения в ваш подмодуль: cd git branch git commit git push cd git commit

Коммит и push в подмодулях требуются, если вы не хотите потерять свои изменения.

...