... | @@ -2,15 +2,15 @@ |
... | @@ -2,15 +2,15 @@ |
|
|
|
|
|
Наша система представляет собой набор модулей или плагинов, достаточно независимых, чтобы можно было вести разработку различных подсистем изолированно друг от друга и при этом сохранять целостность, подключая модули в конечный продукт, коим является интернет-банк.
|
|
Наша система представляет собой набор модулей или плагинов, достаточно независимых, чтобы можно было вести разработку различных подсистем изолированно друг от друга и при этом сохранять целостность, подключая модули в конечный продукт, коим является интернет-банк.
|
|
|
|
|
|
Нам приходится отслеживать то какие именно модули включаются в интернет-банк, вносить изменения во взаимосвязанные модули подсистем синхронно, чтобы не нарушить целостность кода. Кроме того процесс осложняется наличием как минимум двух активных веток: **master** - основного ствола разработки и **текущей стабильной ветки**, в которую вносятся только исправления ошибок.
|
|
Нам приходится отслеживать то, какие именно модули включаются в интернет-банк, вносить изменения во взаимосвязанные модули подсистем синхронно, чтобы не нарушить целостность кода. Кроме того процесс осложняется наличием как минимум двух активных веток: **master** - основного ствола разработки и **текущей стабильной ветки**, в которую вносятся только исправления ошибок.
|
|
|
|
|
|
Типичная проблема, возникающая при использовании подобного сценария, это, как сделать так, чтобы иметь возможность рассматривать их как отдельные, всё же имея возможность использовать один модуль внутри другого.
|
|
Типичная проблема, возникающая при использовании подобного сценария, это, как сделать так, чтобы иметь возможность рассматривать их как отдельные, всё же имея возможность использовать один модуль внутри другого.
|
|
|
|
|
|
Git решает эту задачу, используя **подмодули**. Подмодули позволяют содержать один Git-репозиторий как подкаталог другого Git-репозитория. Это даёт возможность клонировать ещё один репозиторий внутрь проекта, храня коммиты для вложенного репозитория отдельно.
|
|
Git решает эту задачу, используя **подмодули**. Подмодули позволяют содержать один Git-репозиторий как подкаталог другого Git-репозитория. Это даёт возможность клонировать репозитории внутрь проекта, храня коммиты для вложенных репозиториев отдельно.
|
|
|
|
|
|
## Начало использования подмодулей
|
|
## Начало использования подмодулей
|
|
|
|
|
|
Предположим, вы хотите добавить новую кастомизацию cust-ibank-fl-newbank в супер-проект. Первое, что требуется сделать, это клонировать внешний репозиторий cust-ibank-fl-newbank в подкаталог супер-репозитория ibank_root. Добавление внешних проектов в качестве подмодулей делается командой `git submodule add`:
|
|
Предположим, вы хотите добавить новую кастомизацию cust-ibank-fl-newbank в суперпроект ibank_root. Первое, что требуется сделать, это клонировать внешний репозиторий cust-ibank-fl-newbank в подкаталог супер-репозитория ibank_root. Добавление внешних проектов в качестве подмодулей делается командой `git submodule add`:
|
|
```
|
|
```
|
|
>git submodule add git@source.isimplelab.com:ibank/cust-ibank-fl-newbank.git cust-ibank-fl-newbank
|
|
>git submodule add git@source.isimplelab.com:ibank/cust-ibank-fl-newbank.git cust-ibank-fl-newbank
|
|
Initialized empty Git repository in ibank_root/cust-ibank-fl-newbank/.git/
|
|
Initialized empty Git repository in ibank_root/cust-ibank-fl-newbank/.git/
|
... | | ... | |