Подмодули
Подмодули в репозитории используются для включения внешних репозиториев как поддиректорий внутри основного репозитория. Это позволяет управлять зависимостями между различными проектами и версиями программного обеспечения.
Пример подмодулей в профиле репозитория:
Клонирование проекта с подмодулями
Рекурсивная загрузка подмодулей при клонировании
git clone URL_репозитория --recourse-submodules
Ручная инициализация и обновление
Клонируйте репозиторий:
git clone URL_репозитория
Перейдите в каталог репозитория и инициализируйте подмодули, указанные в .gitmodules:
git submodule init
Обновите подмодули до версии, указанной в родительском репозитории, сохраненной в файле .gitmodules или в метаданных родительского репозитория:
git submodule update
Добавление подмодуля
Для добавления подмодуля в репозиторий выполните команду git submodule add URL_репозитория
, например:
git submodule add https://gitverse.ru/gitverse_tutorials/repository2_submodule.git
Далее сохраните и отправьте изменения:
git add .
git commit -m "a new submodule added"
git push
При первом добавлении подмодуля в вашем репозитории появляется файл .gitmodules для отслеживания и управления подмодулями. В нем хранится URL репозитория подмодуля, путь к нему в вашем репозитории и другие данные.
Пример:
Изменение ветки подмодуля
Для изменения ветки подмодуля перейдите в его директорию и выполните команду смены ветки, например:
cd repository2_submodule
$ git checkout feature_branch
Рекурсивное обновление подмодулей
Данная команда обновляет все подмодули до последних версий, инициализирует подмодули, если они еще не были инициализированы, и рекурсивно обновляет все вложенные подмодули:
git submodule update --remote --init --recursive