Хранение и версионирование кода

Deckhouse Code предоставляет инструменты для работы с репозиториями Git. Каждый проект включает репозиторий для хранения исходного кода и отслеживания истории изменений:

  • Полноценная поддержка распределённой системы контроля версий Git.
  • Выполнение стандартных команд: клонирование (git clone), коммит (git commit), отправка (git push), получение (git pull).
  • Автоматическое отслеживание и сохранение истории изменений.

Поддержка форков (Forks)

Форк — это независимая копия репозитория, предназначенная для разработки без риска повлиять на основной код:

  1. Разработчик создаёт форк основного репозитория.
  2. Вносит изменения в своём форке.
  3. Отправляет merge request (MR) в оригинальный репозиторий.
  4. После проверки изменения могут быть слиты.

Подход широко используется в open source-проектах и при ограниченном доступе к основному репозиторию.

Работа с ветками (branching) и слиянием (merging)

Ветки позволяют разрабатывать новые функции и исправления изолированно от основной кодовой базы:

  • Создание веток: git branch <name>, git checkout -b <name>.
  • Переключение между ветками: git checkout <branch>.
  • Слияние изменений: git merge <branch>.
  • Поддержка защищённых веток (protected branches) — для внесения изменений требуется merge request.
  • Автоматическое удаление веток после слияния (если включено).

Встроенный web-редактор

Позволяет вносить изменения в код прямо через браузер без необходимости клонировать репозиторий:

  • Создание и редактирование файлов через web-интерфейс.
  • Автоматическое создание коммитов при сохранении изменений.
  • Поддержка Markdown с возможностью предпросмотра.

Поддержка Git LFS (Large File Storage)

Git LFS позволяет эффективно управлять большими файлами, такими как:

  • Изображения;
  • Видео;
  • Аудиофайлы;
  • Датасеты для машинного обучения.

Git LFS заменяет содержимое больших файлов ссылками, а сами файлы хранятся вне Git-репозитория. Это снижает нагрузку на историю коммитов и ускоряет работу с репозиторием.