git clone --recurse-submodules <URL репозитория>
Если репозиторий уже клонирован, можно инициализировать и обновить сабмодули:
git submodule update --init --recursive
Для клонирования репозитория вместе с сабмодулями необходимо использовать флаг --recursive
вместе с командой git clone
.
Вот как это делается:
git clone --recursive <URL_репозитория>
Где <URL_репозитория>
- это URL вашего репозитория Git (например, git@github.com:username/repository.git
или https://github.com/username/repository
).
Альтернативный подход (если репозиторий уже клонирован):
Если вы уже клонировали репозиторий без флага --recursive
, вы можете инициализировать и обновить сабмодули отдельно, используя следующие команды:
git submodule init
git submodule update --recursive
Пояснения к командам:
git submodule init
: Инициализирует локальную конфигурацию сабмодулей, связывая их с указанными в основном репозитории. Это создает запись о том, какие сабмодули существуют и где они должны быть клонированы.git submodule update --recursive
: Клонирует сабмодули (если они еще не клонированы) и переключает их на коммит, указанный в основном репозитории. Флаг --recursive
обеспечивает, что любые сабмодули внутри этих сабмодулей (подсабмодули) также будут клонированы и обновлены.Почему важно клонировать с сабмодулями?
Сабмодули позволяют вам включать другой репозиторий Git в качестве поддиректории вашего основного репозитория. Если вы не клонируете их специально, вы получите пустые директории вместо фактического кода из сабмодулей. Использование --recursive
или git submodule init
и git submodule update
гарантирует, что вы получите полный рабочий код, включая код из сабмодулей.
В заключение: Используйте git clone --recursive <URL_репозитория>
при клонировании репозитория, содержащего сабмодули, для получения полного рабочего кода с первого раза. Если репозиторий уже клонирован, используйте git submodule init
и git submodule update --recursive
.