Просунуте Git
Amanda Crawford-Adamo
Software and Data Engineer
Підмодуль Git
git submodule

Додавання підмодуля за посиланням або каталогом у вказаний шлях.
git submodule add <repository link|dir> <path>
$$
Приклад
Додає бібліотеку перевірки даних до проєкту ETL у теку libs/validator в репозиторії ETL.
git submodule add https://github.com/example/data-validator.git libs/validator
Список усіх підмодулів у проєкті
git submodule status
Приклад
$ git submodule status
e1f2...7w8x9 data_cleaning_lib
a1b2...q7r8 api_connector
d9e8...t3u2 visualization_toolkit
Оновлення підмодуля до останніх змін
Є кілька варіантів:
git submodule update --init
git submodule update --init --remote
git submodule update --init <path_to_submodule>
Процес видалення підмодуля
git submodule deinit <submodule_name>
git rm <path>
Скопіюйте всі файли, які мають бути в новому репозиторії підмодуля, в іншу теку поза репозиторієм.
У новій теці створіть новий репозиторій для підмодуля:
git init <new-submodule>
Використайте git filter-repo, щоб виділити потрібні файли та історію з основного проєкту:
git filter-repo --path <extract_path> --invert-paths
Додайте виділений репозиторій як підмодуль до основного проєкту:
git submodule add <new-submodule_path> <path_to_store_submodule>
Коли корисно:
Найкращі практики:
Просунуте Git