Подмодули

Подмодуль — это репозиторий, вложенный в родительский репозиторий. Стандартные сценарии разработки прикладных решений 1С:Предприятия не используют подмодули.

Однако 1C:EDT позволяет вам использовать подмодули, при необходимости, так как они являются стандартной функциональностью Git. Подробнее о подмодулях читайте здесь.

Добавить подмодуль клонированием

Чтобы добавить подмодуль в панели Репозитории Git нажмите Добавить подмодуль... в контекстном меню репозитория.

1. Путь подмодуля

  • Путь подмодуля — относительный путь к подмодулю в рабочем каталоге родительского репозитория.

2. Репозиторий Git

Здесь нужно выбрать репозиторий, который будет клонирован и помещен в подмодуль.

В поле URI укажите расположение удаленного репозитория. Например:

ssh://user@example.com:6888/dir/gitproject.git — на удаленном сервере example.com
http://example.com/dir/gitproject.git — на удаленном сервере example.com
file://\\example\gitproject — на сетевом компьютере example
file://D:\dir\gitproject — в локальном каталоге

После этого остальные поля будут заполнены автоматически насколько это возможно.

Предупреждение: Когда вы создаете локальный репозиторий, создавайте его таким образом, чтобы каталог репозитория и рабочая область 1C:EDT не находились в иерархии друг друга. Подробнее об этом читайте здесь.

Назначение полей:

  • Расположение
    • URI — полный URI удаленного репозитория или путь в файловой системе. Для выбора локального каталога можно нажать Обзор.... Каталог репозитория это каталог, содержащий папку .git;
    • Сервер — имя удаленного сервера. Если клонируется локальный или сетевой каталог, это поле будет пустым;
    • Путь к репозиторию — путь к репозиторию на сервере или в файловой системе
  • Соединение
    • Протокол — один из поддерживаемых протоколов:
      • file — файловый доступ на локальном компьютере или в локальной сети;
      • ftpFile Transfer Protocol;
      • git — самый эффективный встроенный протокол Git (порт по умолчанию 9418). Этот протокол не обеспечивает аутентификацию. Обычно он используется для анонимного доступа к репозиторию на чтение;
      • httpHypertext Transfer Protocol;
      • httpsHypertext Transfer Protocol Secure;
      • sftpSSH File Transfer Protocol;
      • ssh — Git по протоколу secure shell (SSH). Обычно используется для аутентифицированного доступа к репозиторию на запись;
      Примечание: Если вы находитесь за брандмауэром, вам может потребоваться настроить параметры прокси-сервера: Окно > Параметры... > Общие > Сетевые соединения.
    • Порт — порт сервера;
  • Аутентификация
    • Пользователь — имя пользователя для доступа к удаленному репозиторию;
    • Пароль — пароль пользователя для доступа к удаленному репозиторию;
    • Сохранить в защищенном хранилище — сохранить параметры аутентификации в защищенном хранилище Eclipse.

После нажатия Готово 1C:EDT выполнит следующие действия:

Клонировать репозиторий с подмодулями

Когда вы клонируете родительский репозиторий, нужно клонировать и его подмодули для того, чтобы файлы подмодулей были доступны в рабочем каталоге родительского репозитория.

Для этого на третьем шаге мастера клонирования установите флажок Клонировать подмодули.

Обновить подмодули

Существует два действия: Обновить подмодуль и Синхронизировать подмодуль. Оба они доступны в панели Репозитории Git в контекстном меню узла Подмодули или в контекстном меню самого подмодуля.

Обновить подмодуль значит извлечь коммит, который указан в индексе родительского репозитория для этого подмодуля. При этом также будет выполнено слияние или перебазирование, если это указано в настройках этого подмодуля в файле .git/config родительского репозитория.

Синхронизировать подмодуль означает обновить удаленный репозиторий, используемый подмодулем, текущим значением из файла .gitmodules, расположенного в корне рабочего каталога родительского репозитория.

Просмотр подмодулей

Все подмодули репозитория можно увидеть в панели Репозитории Git в узле Подмодули. Они имеют такую же структуру, как и обычные репозитории.