Ответ 1
Разница заключается в следующем:
-
git pull
будет обновлять вашу ветвь субмодуля только, но это может быть любая ветка, которую вы могли бы проверить в этом репозитории подмодулей. -
git submodule update --remote
будет обновлять только филиал, зарегистрированный в.gitmodule
, и по умолчанию вы получите отдельную HEAD, если не указано значение--rebase
или--merge
или для клавишиsubmodule.$name.update
установлено значениеrebase
,merge
илиnone
.
В обоих случаях вам все равно нужно вернуться к родительскому репо, добавить и зафиксировать ссылку на новый подмодуль SHA1.
Это связано с тем, что в обоих случаях изменяется SHA1 подмодуля, что означает gitlink (специальная запись в индексе родительского репо, названная в корневую папку подмодуля) должна быть добавлена и зафиксирована.