Подтвердить что ты не робот

Git обновление подмодуля --remote vs git pull

В чем разница между запуском

git submodule update --remote

vs

cd <submodule directoy>
git pull

Предполагая, что подмодуль был предварительно установлен для отслеживания некоторой ветки:

git submodule add -b master [URL to Git repo]
4b9b3361

Ответ 1

Разница заключается в следующем:

  • git pull будет обновлять вашу ветвь субмодуля только, но это может быть любая ветка, которую вы могли бы проверить в этом репозитории подмодулей.
  • git submodule update --remote будет обновлять только филиал, зарегистрированный в .gitmodule, и по умолчанию вы получите отдельную HEAD, если не указано значение --rebase или --merge или для клавиши submodule.$name.update установлено значение rebase, merge или none.

В обоих случаях вам все равно нужно вернуться к родительскому репо, добавить и зафиксировать ссылку на новый подмодуль SHA1.
Это связано с тем, что в обоих случаях изменяется SHA1 подмодуля, что означает gitlink (специальная запись в индексе родительского репо, названная в корневую папку подмодуля) должна быть добавлена ​​и зафиксирована.