Подмодули записываются в суперпроект как запись gitlink . В gitlink хранится необработанный хэш-идентификатор, который Git-суперпроект будет использовать для команды подмодуля Git на git checkout
в подмодуле. (Помимо gitlink, вам также необходимо содержимое файла .gitmodules
для предоставления дополнительной информации, необходимой для начального клона, но после того, как клон произошел, эти данные переместились из файла .gitmodules
в конфигурацию вашего суперпроекта. Так что .gitmodules
содержание становится неактуальным: имеет значение только gitlink.)
Драйвер слияния сообщает Git, как объединять файлы . Запись gitlink не является файлом, поэтому драйверы слияния здесь не действуют. Когда Git объединяет три коммита - базу слияния и две подсказки ветвления - и базу слияния, и две подсказки ветвления имеют разные хеш-идентификаторы, сохраненные в gitlink, вы получите конфликт слияния, и ничего, что вы сделаете, не разрешит его автоматически , Вы должны вручную разрешить это.