Підмодулі¶
Загальний огляд¶
Підмодуль Git дозволяє інтегрувати інші проекти Git у ваш код без необхідності копіювати та вставляти весь їхній код .
Дійсно, ваші спеціальні модулі можуть залежати від модулів з інших сховищ. Що стосується Odoo, ця функція дозволяє додавати модулі з інших сховищ Git у гілки вашого сховища. Додавання цих залежностей у вашу гілку через підмодулі полегшує розгортання вашого коду та серверів, оскільки ви можете клонувати репозиторії, додані як підмодулі, одночасно з клонуванням свого власного сховища.
Крім того, ви можете вибрати гілку репозиторію, додану як підмодуль, і ви зможете контролювати потрібну версію. Ви самі вирішуєте, чи бажаєте ви прикріпити підмодуль до певної версії та коли ви бажаєте оновити до новішої версії.
В Odoo.sh підмодулі дають вам можливість використовувати та залежати від модулів, доступних в інших сховищах. Платформа виявить, що ви додали модулі через підмодулі у своїх гілках, і автоматично додасть їх до шляху додатків, щоб ви могли встановити їх у своїх базах даних.
Якщо ви додаєте приватні сховища як підмодулі у своїх гілках, вам потрібно налаштувати ключ розгортання в налаштуваннях проекту Odoo.sh і в налаштуваннях сховища. Інакше Odoo.sh не зможе завантажити їх. Процедура детально описана в розділі Налаштування > Підмодулі.
Додавання підмодуля¶
З Odoo.sh (простий)¶
Попередження
Наразі неможливо додати приватні репозиторії за допомогою цього методу. Тим не менш, ви можете зробити це з Git.
На Odoo.sh у перегляді гілок вашого проекту виберіть гілку, до якої ви хочете додати підмодуль.
У верхньому правому куті натисніть кнопку Підмодуль, а потім натисніть Виконати.

Відобразиться діалогове вікно з формою. Заповніть вхідні дані наступним чином:
URL-адреса сховища: URL-адреса SSH сховища.
Гілка: гілка, яку ви хочете використовувати.
Шлях: папка, до якої ви хочете додати цей підмодуль у свою гілку.

На Github ви можете отримати URL-адресу сховища за допомогою кнопки Клонувати або завантажити сховища. Обов’язково використовуйте SSH.

З Git (розширений)¶
У терміналі в папці, де клоновано ваше сховище Git, перевірте гілку, до якої ви хочете додати підмодуль:
$ git checkout <branch>
Потім додайте підмодуль за допомогою наведеної нижче команди:
$ git submodule add -b <branch> <git@yourprovider.com>:<username/repository.git> <path>
Замінити
<git@yourprovider.com>:<username/repository.git> за URL-адресою SSH репозиторію, який ви хочете додати як підмодуль,
<branch> за гілкою, яку ви бажаєте використовувати у вищезгаданому репозиторії,
<path> за текою, в яку ви хочете додати цей підмодуль.
Зафіксуйте та надішліть свої зміни:
$ git commit -a && git push -u <remote> <branch>
Замінити
<remote> за репозиторієм, до якого ви хочете надіслати свої зміни. Для стандартного налаштування Git це origin.
<branch> за тією гілкою, до якої ви хочете внести зміни. Швидше за все, це гілка, у якій ви використовували
git checkout
на першому кроці.
Ви можете прочитати документацію git-scm.com <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`, щоб дізнатися більше про субмодулі Git. Наприклад, якщо ви бажаєте оновити свої підмодулі, щоб мати їхню останню версію, ви можете слідувати розділу Затягування змін у Upstream
<https://git-scm.com/book/en/v2/Git-Tools-Submodules# _pullling_in_upstream_changes_from_the_submodule_remote>`_.
Ігнорувати модулі¶
Якщо ви додаєте репозиторій, який містить багато модулів, ви можете проігнорувати деякі з них на випадок, якщо є такі, що встановлюються автоматично. Для цього ви можете додати до папки підмодуля префікс .
. Платформа ігноруватиме цю папку, і ви можете вручну вибрати свої модулі, створивши на них символічні посилання з іншої папки.