Для повторного использования кода из другого репозитория можно указать подмодули Git™ которые будут включены в проект.
Для клонирования внешнего репозитория Git в качестве подмодуля:
На вкладке Проект в разделе Система управления версиями выберите Подмодули.
В диалоговом окне Подмодули нажмите кнопку +.
В диалоговом окне Добавить подмодуль в поле Удаленный укажите расположение репозитория. При необходимости щелкните Проверить (Validate).
В поле «Путь» укажите местоположение подмодуля в проекте и нажмите кнопку «ОК». В диалоговом окне «Подмодули» отображаются состояние и сведения о подмодуле.
Проверьте сообщение о состоянии и нажмите кнопку Закрыть, чтобы вернуться к проекту.
После использования команды Извлечь (Pull) в проекте верхнего уровня проверьте актуальность подмодулей, щелкнув Подмодули (Submodules), а затем щелкните Обновить (Update). Если какое-либо определение подмодуля изменилось, то обновление гарантирует, что папка подмодуля содержит правильные файлы. Обновление применяется ко всем дочерним подмодулям в иерархии подмодулей.
При необходимости управления подмодулем откройте диалоговое окно Подмодули (Submodules).
Чтобы получить последнюю версию подмодуля, в диалоговом окне Подмодули (Submodules) щелкните Выбрать (Fetch).
После извлечения необходимо выполнить слияние. Проверьте сообщение о состоянии в диалоговом окне Подмодули для получения информации о текущей ветви относительно ветви удаленного отслеживания в репозитории. Когда вы видите сообщение Behind, необходимо объединить изменения из репозитория в локальную ветвь.
Щелкните Ветви (Branches) и объедините исходные изменения локальной ветви с помощью диалогового окна Ветви (Branches). См. раздел Извлечение, выборка и слияние.
Если вы вносите изменения в подмодуль и хотите отправить изменения обратно в репозиторий:
Выполните локальную фиксацию в родительском проекте.
Откройте диалоговое окно Подмодули (Submodules) и нажмите кнопку Нажать (Push).
Если требуется, чтобы другие пользователи проекта получали изменения в подмодуле при клонировании родительского проекта, убедитесь, что индекс и заголовок совпадают.
В диалоговом окне Подмодули (Submodules) проверьте значения индекса и заголовка. Индекс указывает на фиксацию заголовка при первом клонировании подмодуля или при последнем фиксации родительского репозитория проекта. Если индекс и заголовок не совпадают, необходимо обновить индекс.
Чтобы обновить индекс, зафиксируйте изменения в родительском проекте и нажмите кнопку Push в диалоговом окне Submodules. Это действие делает индекс и заголовок одинаковыми.