git submodule
позволяет включить один репозиторий Git как подкаталог внутри другого репозитория. По сути, это способ управления зависимостями, когда нужно использовать конкретную версию другого проекта в вашем проекте. Он хранит ссылку на конкретный коммит в другом репозитории, а не его содержимое. Обновление и синхронизация подмодулей требует отдельных команд.
git submodule
позволяет включать один Git-репозиторий как поддиректорию в другом Git-репозитории. Представьте, что у вас есть основной проект (например, веб-приложение), и он использует внешнюю библиотеку или компонент, который сам по себе является отдельным проектом с собственной историей версий. Вместо того, чтобы копировать код этой библиотеки прямо в ваш основной проект, вы можете использовать git submodule
, чтобы:
git submodule update --init --recursive
автоматически загрузит и настроит подмодули, обеспечивая полный код проекта.
Проще говоря: git submodule
- это способ включить один Git-репозиторий внутрь другого, при этом сохраняя независимость и историю версий включенного репозитория. Это как вставить ссылку на файл, вместо копирования его содержимого.
Важные моменты:
git submodule
сохраняет только ссылку на определенный коммит подмодуля, а не сам код в основном репозитории.git submodule init
и git submodule update
).Пример: Допустим, у вас есть репозиторий my-website
. Вы хотите использовать библиотеку some-library
в своем проекте. Вы добавляете её как подмодуль с помощью команды: git submodule add https://github.com/example/some-library.git path/to/some-library
.