Работа с Git
В Tengri поддержана работа с репозиториями в системе контроля версий Git.
Поддержка Git позволяет решить следующие задачи:
-
Организация эффективной совместной работы аналитиков внутри одной инсталляции Tengri
-
Управление кодовой базой ноутбуков Tengri из центрального репозитория
-
Перемещение кодовой базы ноутбуков между разными инсталляциями Tengri посредством CI/CD-пайплайнов
Рабочие пространства и репозитории
Рабочее пространство — это корневой элемент структуры, который состоит из репозиториев. Активное рабочее пространство отображается в левой боковой панели в корне дерева с ноутбуками.
Дерево ноутбуков отображает все репозитории активного рабочего пространства. Для каждого репозитория в дереве отображается активная ветка и все его содержимое.
Ветки репозиториев
Для каждого репозитория при его добавлении в рабочее пространство задается дефолтная ветка.
Активная ветка отображается рядом с именем репозитория. При нажатии на имя активной ветки открывается меню работы с ветками.
Действия с ветками:
-
Переключить текущую ветку (аналог
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 — восстановить помеченный для удаления ноутбук
Разрешение конфликтов слияния
Если при публикации или обновлении обнаруживается конфликт версий, открывается диалог разрешения конфликтов.
Для каждой ячейки с конфликтом нужно выбрать: оставить свою версию, принять чужую или объединить обе.
| Полная история коммитов по всем ячейкам c возможностью отката к предыдущим коммитам доступна во вкладке История. |
Администрирование рабочих пространств и репозиториев
Во вкладке Настройки > Рабочие пространства и репозитории можно управлять рабочими пространствами и репозиториями.
Управление рабочими пространствами
-
Добавить репозиторий — Добавить репозиторий в это рабочее пространство
Управление репозиториями
-
Синхронизировать — подтянуть изменения из Git в дефолтную ветку репозитория
-
Переименовать
-
Удалить
После выполнения синхронизации показывается статистика: сколько ноутбуков добавлено, обновлено, удалено, сохранено с черновиками.
Добавление нового репозитория
При нажатии на Добавить репозиторий открывается меню добавления репозитория, в котором задаются параметры:
-
Имя репозитория — отображаемое имя репозитория
-
Режим репозитория — режим подключения репозитория
-
Локальный — создать локально в директории рабочего пространства
-
Удаленный — подключить внешний репозиторий
-
-
Удаленный URL — URL для режима
Remote(HTTPS или SSH) -
Ветка по умолчанию — дефолтная ветка (по умолчанию
main)
В режиме Local путь генерируется автоматически: {workspace_dir}/{slug}.git. Предварительный путь показывается в форме при вводе имени.