Работа с Git
В Tengri поддержана работа с репозиториями в системе контроля версий Git.
Поддержка Git позволяет решить следующие задачи:
-
Организация эффективной совместной работы аналитиков внутри одной инсталляции Tengri
-
Управление кодовой базой ноутбуков Tengri из центрального репозитория
-
Перемещение кодовой базы ноутбуков между разными инсталляциями Tengri посредством CI/CD-пайплайнов
Рабочие пространства и репозитории
Рабочее пространство — это корневой элемент структуры, который состоит из репозиториев. Активное рабочее пространство отображается в левой боковой панели в корне дерева с ноутбуками.
Дерево ноутбуков отображает все репозитории активного рабочего пространства. Для каждого репозитория в дереве отображается активная ветка и все его содержимое.
Переключаться между рабочими пространствами можно во вкладке Settings > Workspaces.
Ветки репозиториев
Для каждого репозитория при его добавлении в рабочее пространство задается дефолтная ветка.
Активная ветка отображается рядом с именем репозитория. При нажатии на имя активной ветки открывается меню работы с ветками.
Действия с ветками:
-
Переключить текущую ветку —
git checkout -
Создать новую ветку и переключиться в нее —
git checkout -b -
Удалить ветку —
git branch -d
Действия с репозиториями
Кнопки действий с репозиториями отображаются при наведении на строку репозитория в дереве.
Действия:
-
Влить текущую ветку в дефолтную ветку —
git merge -
Подтянуть изменения из дефолтной ветки в текущую ветку —
git merge -
Опубликовать текущую ветку в Git —
git push -
Создать папку в корне репозитория
-
Создать ноутбук в корне репозитория
| При создании папки в ней автоматически создается пустой ноутбук. Папки без содержимого не поддерживаются. При удалении единственного ноутбука из папки папка также удаляется. |
Действия с ноутбуками
Цвет иконки ноутбука в дереве отражает его текущее состояние:
-
Новый — создан, но ещё не опубликован в Git
-
Изменен — опубликован, но есть несохранённые изменения (черновик)
-
Опубликован — актуальная версия опубликована в Git, черновика нет
Кнопки действий с ноутбуками и папками отображаются при наведении на строку ноутбука или строку папки:
-
Publish — опубликовать черновик в Git —
git push -
Pull — подтянуть актуальную версию из Git в черновик —
git pull -
Rename — переименовать ноутбук
-
Delete — удалить ноутбук (опубликованные ноутбуки помечаются для удаления, неопубликованные удаляются сразу)
-
Restore — восстановить помеченный для удаления ноутбук
Разрешение конфликтов слияния
Если при публикации (git push) или обновлении (git merge) обнаруживается конфликт версий, открывается диалог разрешения конфликтов.
Для каждой ячейки с конфликтом нужно выбрать: оставить свою версию, принять чужую или объединить обе.
| Полная история коммитов по всем ячейкам c возможностью отката к предыдущим коммитам доступна во вкладке History. |
Администрирование рабочих пространств и репозиториев
Во вкладке Settings > Workspaces можно управлять рабочими пространствами и репозиториями.
Управление рабочими пространствами
-
Сделать текущим рабочим пространством — после этого страница перезагрузится и рабочее пространство переключится
-
Добавить репозиторий в это рабочее пространство
-
Переименовать рабочее пространство
-
Удалить рабочее пространство — доступно для всех рабочих пространств, кроме текущего
Управление репозиториями
-
Синхронизировать — подтянуть изменения из Git в дефолтную ветку репозитория
-
Переименовать
-
Удалить
После выполнения синхронизации показывается статистика: сколько ноутбуков добавлено, обновлено, удалено, сохранено с черновиками.
Добавление нового репозитория
При нажатии на Add repository открывается меню добавления репозитория, в котором задаются параметры:
-
Repository Name — отображаемое имя репозитория
-
Repository Mode — режим подключения репозитория
-
Local— создать локально в директории рабочего пространства -
Remote— подключить внешний репозиторий
-
-
Remote URL — URL для режима
Remote(HTTPS или SSH) -
Default Branch — дефолтная ветка (по умолчанию
main) -
Authentication Type — тип аутентификации (
HTTPS TokenилиSSH Private Key) -
Access Token — токен доступа (если выбран
HTTPS Token) -
SSH Private Key — приватный SSH-ключ в формате PEM (если выбран
SSH Private Key)
В режиме Local путь генерируется автоматически: {workspace_dir}/{slug}.git. Предварительный путь показывается в форме при вводе имени.