|
|
|
# Добавление нового модуля
|
|
|
|
|
|
|
|
*При прочтении данной главы подразумевается, что вы уже ознакомились и поняли содержимое глав "Основы Git" и "Особенности работы с подмодулями".*
|
|
|
|
*При прочтении данной главы подразумевается, что вы уже ознакомились и поняли содержимое глав ["Основы 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) и т.д.
|
|
|
|
Если с определением подходящей группы возникают сложности, следует обратиться за помощью к более опытному сотруднику.
|
| ... | ... | @@ -11,21 +11,17 @@ |
|
|
|
git clone git@source.isimplelab.com:/<group_name>/<new_module_name.git>
|
|
|
|
```
|
|
|
|
После этого в каталоге проекта ibank_root появится пустой репозиторий.
|
|
|
|
Наполняем его полезным содержимым и коммитим это содержимое, добиваемся того чтобы новый модуль компилировался без ошибок (программа минимум) и выполнял свою работу в рамках поставленной задачи (то к чему нужно стремиться).
|
|
|
|
|
|
|
|
- Только когда **обе** цели будут достигнуты необходимо опубликовать свои наработки в центральном репозитории данного модуля, иначе говоря сделать *push* в основной ствол и, при необходимости, в стабильную ветку.
|
|
|
|
Наполняем его полезным содержимым и фиксируем это содержимое, добиваемся того чтобы новый модуль компилировался без ошибок (программа минимум) и выполнял свою работу в рамках поставленной задачи (то к чему нужно стремиться).
|
|
|
|
- Только когда **обе** цели будут достигнуты, необходимо опубликовать свои наработки в центральном репозитории данного модуля, иначе говоря сделать *push* в основной ствол и, при необходимости, в стабильную ветку.
|
|
|
|
```
|
|
|
|
git commit -m "Создан новый модуль имя_нового_модуля"
|
|
|
|
# публикуем изменения в основном стволе центрального репозитория
|
|
|
|
git push origin master
|
|
|
|
```
|
|
|
|
```
|
|
|
|
# создаём новую ветку на основе текущего состояния ветки master
|
|
|
|
git branch ibankfl-branch-2-0-12-393
|
|
|
|
# публикуем изменения в стабильной ветке центрального репозитория
|
|
|
|
git push origin ibankfl-branch-2-0-12-393
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Новый репозиторий наполнен и уверены что он работает правильно.
|
|
|
|
Настала пора прописать его в конфигурации приложения. Для этого:
|
|
|
|
|
| ... | ... | @@ -50,33 +46,31 @@ git push origin master |
|
|
|
```
|
|
|
|
|
|
|
|
4. Добавить новый модуль в список подмодулей Git каталога проекта ibank_root. Для этого:
|
|
|
|
- Удаляем новый модуль с из каталога проекта ibank_root. Можно переместить новый модуль в другой каталог, если опасаетесь его потерять. **Важно чтобы его не было в каталоге ibank_root.**
|
|
|
|
- Удаляем новый модуль с из каталога проекта ibank_root. Можно переместить новый модуль в другой каталог, если опасаетесь его потерять.
|
|
|
|
**Важно чтобы его не было в каталоге ibank_root.**
|
|
|
|
- Создаём в каталоге проекта ibank_root подмодуль, клонируем в него удалённый репозиторий с новым модулем.
|
|
|
|
```
|
|
|
|
git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git> new_module_name
|
|
|
|
```
|
|
|
|
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:
|
|
|
|
```
|
|
|
|
git add cust-ibank-customize
|
|
|
|
git add cust-ibank-ul-installer
|
|
|
|
```
|
|
|
|
Таким образом в следующий коммит ibank_root обязательно должны войти изменения в:
|
|
|
|
1. `settings.gradle`;
|
|
|
|
2. `build.gradle` модулей cust-ibank-customize или cust-ibank-ul-installer внесённые ранее;
|
|
|
|
3. Добавление нового подмодуля Git.
|
|
|
|
|
|
|
|
В следующий коммит обязательно должны войти изменения в:
|
|
|
|
- `settings.gradle`;
|
|
|
|
- `build.gradle` модулей cust-ibank-customize или cust-ibank-ul-installer внесённые ранее;
|
|
|
|
- добавление нового подмодуля Git.
|
|
|
|
|
|
|
|
Убедиться в этом можно просмотрев вывод команды git status, находясь в каталоге ibank_root.
|
|
|
|
Убедиться в этом можно просмотрев вывод команды `git status`, находясь в каталоге ibank_root.
|
|
|
|
|
|
|
|
- Следующим шагом фиксируем изменения в структуре проекта ibank_root:
|
|
|
|
5. Последним шагом мы фиксируем изменения в структуре проекта ibank_root:
|
|
|
|
```
|
|
|
|
git commit -m "Добавлен подмодуль new_module_name"
|
|
|
|
```
|
|
|
|
|
|
|
|
После этого публикуем новую структуру проекта ibank_root:
|
|
|
|
И публикуем новую структуру проекта ibank_root в центральном репозитории:
|
|
|
|
```
|
|
|
|
git push origin master
|
|
|
|
``` |