Git Submodule: руководство по использованию
Git submodule - это механизм, который позволяет включать один репозиторий Git внутрь другого репозитория Git в качестве подмодуля. Это может быть полезно, когда проект состоит из нескольких модулей и каждый модуль имеет свой собственный репозиторий.
Для добавления подмодуля в репозиторий необходимо использовать команду `git submodule add
git submodule add https://github.com/example/submodule.git lib/submodule
После добавления подмодуля его можно инициализировать и загрузить содержимое с помощью команды `git submodule init` и `git submodule update`.
При работе с подмодулями необходимо знать, что они имеют свои собственные ветки и коммиты. При обновлении подмодуля необходимо сначала переключиться на нужную ветку в репозитории подмодуля и затем выполнять команду `git submodule update`.
Если вы хотите обновить подмодуль до самой последней версии в репозитории, вам нужно переключиться на ветку подмодуля и выполнить команду `git pull`. После этого необходимо переключиться обратно на основную ветку и выполнить команду `git submodule update`.
Кроме того, если вы работаете с подмодулем в своем проекте и вносите какие-либо изменения в подмодуль, необходимо отправить изменения в репозиторий подмодуля и обновить подмодуль в вашем основном репозитории.
Пример кода:
$ git submodule add https://github.com/example/submodule.git lib/submodule
$ git submodule init
$ git submodule update
# переключение на ветку подмодуля
$ cd lib/submodule
$ git checkout dev
$ git pull origin dev
# возврат на основную ветку проекта и обновление подмодуля
$ cd ../..
$ git checkout master
$ git submodule update
# внесение изменений в подмодуль
$ cd lib/submodule
$ touch newfile.txt
$ git add newfile.txt
$ git commit -m "Added new file"
$ git push origin dev
# обновление подмодуля в основном репозитории
$ cd ../..
$ git submodule update --remote
$ git add lib/submodule
$ git commit -m "Updated submodule"
$ git push origin master