update create new module authored by Николай Кальгин's avatar Николай Кальгин
# Добавление нового модуля # Добавление нового модуля
*При прочтении данной главы подразумевается, что вы уже ознакомились и поняли содержимое глав ["Основы Git"](https://source.isimplelab.com/publics/howto/wikis/git-essentials) и ["Работа с подмодулями"](https://source.isimplelab.com/publics/howto/wikis/submodule-basic).* *При прочтении данной главы подразумевается, что вы уже ознакомились и поняли содержимое глав
["Основы Git"](https://source.isimplelab.com/publics/howto/wikis/git-essentials) и
["Работа с подмодулями"](https://source.isimplelab.com/publics/howto/wikis/submodule-basic).*
1) Создать новый Git-репозиторий в соответствующей группе. Сейчас группировка репозиториев осуществляется по подсистемам, например, АБС (abs), нотификация (notify), платёжные системы (plat), ядро (core) и т.д. 1) Создать новый Git-репозиторий в соответствующей группе. Сейчас группировка репозиториев осуществляется по подсистемам, например, АБС (abs), нотификация (notify), платёжные системы (plat), ядро (core) и т.д.
Если с определением подходящей группы возникают сложности, следует обратиться за помощью к более опытному сотруднику. Если с определением подходящей группы возникают сложности, следует обратиться за помощью к более опытному сотруднику.
...@@ -14,7 +16,7 @@ git clone git@source.isimplelab.com:/<group_name>/<new_module_name.git> ...@@ -14,7 +16,7 @@ git clone git@source.isimplelab.com:/<group_name>/<new_module_name.git>
После этого в каталоге проекта ibank_root появится пустой репозиторий. После этого в каталоге проекта ibank_root появится пустой репозиторий.
Наполняем его полезным содержимым и фиксируем это содержимое, добиваемся того чтобы новый модуль компилировался без ошибок (программа минимум) и выполнял свою работу в рамках поставленной задачи (то к чему нужно стремиться). Наполняем его полезным содержимым и фиксируем это содержимое, добиваемся того чтобы новый модуль компилировался без ошибок (программа минимум) и выполнял свою работу в рамках поставленной задачи (то к чему нужно стремиться).
- Только когда **обе** цели будут достигнуты, необходимо опубликовать свои наработки в центральном репозитории данного модуля, иначе говоря сделать *push* в основной ствол и, при необходимости, в стабильную ветку. - **Только когда обе цели будут достигнуты**, необходимо опубликовать свои наработки в центральном репозитории данного модуля, иначе говоря сделать *push* в основной ствол и, при необходимости, в стабильную ветку.
``` ```
git commit -m "Создан новый модуль имя_нового_модуля" git commit -m "Создан новый модуль имя_нового_модуля"
# публикуем изменения в основном стволе центрального репозитория # публикуем изменения в основном стволе центрального репозитория
...@@ -59,7 +61,9 @@ git push origin master ...@@ -59,7 +61,9 @@ git push origin master
git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git> new_module_name git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git> new_module_name
``` ```
При выполнении команды `git submodule add` Git запоминает связь каталога `new_module_name` и URL `git@source.isimplelab.com:/<group_name>/<new_module_name.git>`, автоматически клонируя репозиторий и добавляя его в индекс проекта ibank_root. Изменения отражаются в файле `.gitmodules`. При выполнении команды `git submodule add` Git запоминает связь каталога `new_module_name` и URL `git@source.isimplelab.com:/<group_name>/<new_module_name.git>`, автоматически клонируя репозиторий и добавляя его в индекс проекта ibank_root.
Изменения отражаются в файле `.gitmodules`.
- Добавляем в индекс изменения, внесённые ранее в cust-ibank-customize или cust-ibank-ul-installer: - Добавляем в индекс изменения, внесённые ранее в cust-ibank-customize или cust-ibank-ul-installer:
... ...
......