Утилита для git#

Используется для автоматизации выпуска релизов и переключения между ветками в проекте решения.

Для запуска используйте gsf-cli\gsf_git.cmd.

Совет

Для удобной работы из консоли решения используйте алиас gsfp_git.cmd.

Консоль решения можно открыть ярлыком workspace/links/[project_name]/start_shell.cmd

Алгоритм выпуска релизов:

  1. Откройте консоль решения для выпуска релиза

  2. Выпустите релиз модуля
    В каталоге модуля выполните gsfp_git create_release

  3. Откройте консоль решения для релиза

    Совет

    Для переключение решения в релизную ветку в каталоге решения выполните gsfp_git switch release

  4. Переключите релиз
    Для этого в каталоге модуля выполните gsfp_git switch [release_name]

  5. Сделайте commit и push для проекта решения

Commands:#

usage: gsf_git.py [-h] [-p P] [-w W] [-m M] [-s] [--all_modules] cmd ...

positional arguments:
  cmd                 Команды
    full_help         Распечатать справку
    refresh           Обновить исходный код решения из git репозитория
    create_release    Выпустить релиз
    switch            Переключится на другую ветку
    switch_tag_to_last
                      Актуализирует модули до последних версий тегов
    status            Отобразить статус
    version_info      Отобразить информацию по версиям

options:
  -h, --help          show this help message and exit
  -p P                Имя проекта
  -w W                Рабочий каталог
  -m M                Имя модуля
  -s                  Решение
  --all_modules       Все модули

Full_help#

usage: gsf_git.py full_help [-h]

options:
  -h, --help  show this help message and exit

Refresh#

usage: gsf_git.py refresh [-h]

Обновляет исходный код решения и модулей git

options:
  -h, --help  show this help message and exit

Create_release#

usage: gsf_git.py create_release [-h] [-m M [M ...]]

Выпускает релиз.
При этом:
- Происходит создание тегов по текущим версиям модулей
- Увеличивается текущая версия модуля
- Происходить commit и push изменений и тега

options:
  -h, --help    show this help message and exit
  -m M [M ...]  Список модулей для обновления

Switch#

usage: gsf_git.py switch [-h] (-branch BRANCH | -mb MB [MB ...])

Переключает репозиторий на другую ветку.
При запуске от решения:
- Изменяется ветка в настройках проекта
- Происходит обновление репозиториев

При запуски от модуля:
- Изменяется ветка в файле `project.yaml`
  Внимание: Данные изменения не попадают в commit
- Происходит обновление исходного кода по модулю

options:
  -h, --help       show this help message and exit
  -branch BRANCH
  -mb MB [MB ...]  <module_name>:<branch_name>

Switch_tag_to_last#

usage: gsf_git.py switch_tag_to_last [-h] [-m M [M ...]]

Актуализирует модули до последних версий тегов.
Модули, в которых указана ветка, а не тег - игнорируются.
При этом:
- Изменяется ветка в файле `project.yaml`
  Внимание: Данные изменения не попадают в commit
- Происходит обновление исходного кода по модулю

options:
  -h, --help    show this help message and exit
  -m M [M ...]  Список модулей для обновления

Status#

usage: gsf_git.py status [-h]

Отображает информацию о состоянии решения и модулей.
Позволяет увидеть список модулей по которым необходимо сделать commit или push.
Решение в списке обозначено символом `.`

options:
  -h, --help  show this help message and exit

Version_info#

usage: gsf_git.py version_info [-h]

Отображает информацию по версиям решения и модулей.
Решение обозначается символом `.`

options:
  -h, --help  show this help message and exit