Термин · Глоссарий B2B-ПО

Репозиторий (Repository)

Репозиторий в ИТ – централизованное хранилище артефактов: исходного кода, документации, зависимостей, моделей данных или других цифровых объектов. Обеспечивает версионирование, контроль доступа, историю изменений и возможность совместной работы.

Буква «Р» В категориях: 5 Платформ: 6+

Введение

Репозиторий (Repository) в контексте ИТ – централизованное хранилище, в котором хранятся, управляются и версионируются цифровые артефакты. В зависимости от контекста репозиторий может содержать исходный код программного обеспечения, пакеты зависимостей, Docker-образы контейнеров, ML-модели, документацию или данные. Ключевые свойства: версионирование (история всех изменений), контроль доступа и возможность совместной работы нескольких пользователей.

В современной разработке ПО репозиторий кода является фундаментальным инструментом: без него невозможен контроль версий, совместная разработка, CI/CD и аудит изменений.

История и контекст

Первые системы контроля версий (SCCS, 1972; RCS, 1982) хранили историю изменений файлов локально. CVS (Concurrent Versions System, 1990) ввёл концепцию централизованного репозитория для командной работы. Subversion (SVN, 2000) улучшил модель CVS.

Революцию совершил Git – распределённая система контроля версий, созданная Линусом Торвальдсом в 2005 году для разработки ядра Linux. Git изменил парадигму: каждый разработчик имеет полную копию репозитория (клон). Появление GitHub (2008), GitLab (2011) и Bitbucket добавило социальные функции и CI/CD. Сегодня Git-репозиторий – стандарт де-факто для хранения кода.

Как это работает

В зависимости от типа хранимых артефактов репозитории делятся на:

  • Репозиторий исходного кода (Source Code Repository) – Git, Subversion. Хранит историю всех изменений кода в виде коммитов. Ветвление (branching) позволяет параллельно разрабатывать функциональность. Pull/Merge Request – механизм проверки кода перед слиянием.
  • Репозиторий пакетов/артефактов (Artifact Repository) – Nexus Repository, JFrog Artifactory, PyPI, npm Registry. Хранит скомпилированные артефакты: JAR, WAR, npm-пакеты, Python-пакеты. Используется в CI/CD для воспроизводимых сборок.
  • Реестр контейнеров (Container Registry) – Docker Hub, GitLab Container Registry, Yandex Container Registry. Хранит Docker-образы и OCI-совместимые артефакты.
  • Репозиторий ML-моделей (Model Registry) – MLflow, Hugging Face Hub. Версионирует обученные ML-модели с метриками, параметрами и артефактами экспериментов.
  • Клинический репозиторий данных (CDR) – централизованное хранилище медицинских данных пациентов.

В Git хранилищем является специальная папка .git с полной историей проекта в виде ориентированного ациклического графа (DAG) коммитов.

Где применяется

  • Разработка ПО: Git-репозитории – обязательный элемент любого проекта разработки. GitHub, GitLab, Bitbucket – платформы для размещения репозиториев.
  • DevOps и CI/CD: пайплайны сборки и деплоя запускаются по событиям в репозитории (push, merge).
  • Управление зависимостями: npm (JavaScript), pip (Python), Maven (Java) используют репозитории пакетов для управления зависимостями проектов.
  • Инфраструктура как код (IaC): Terraform, Ansible-конфигурации хранятся в Git с возможностью ревью и откатов.
  • Медицина: CDR (Clinical Data Repository) – центральное хранилище данных пациентов из различных МИС.

Преимущества и ограничения

Преимущества: полная история изменений с возможностью отката; параллельная разработка через ветвление; встроенный механизм ревью кода; интеграция с CI/CD; единая точка правды для всех артефактов проекта.

Ограничения: для очень больших бинарных файлов Git неэффективен (используется Git LFS); корпоративные репозитории требуют настройки прав доступа и политик безопасности; необходимость регулярного обучения команды практикам работы с VCS.

Связь с другими понятиями

Репозиторий – центральный элемент DevOps-практик и CI/CD. Неразрывно связан с системами контроля версий (VCS) и инструментами Code Review. В контексте безопасности к репозиториям применяется SCA (Software Composition Analysis) для проверки уязвимостей в зависимостях. GitOps – практика управления инфраструктурой через Git-репозиторий как единственный источник истины.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «Репозиторий».

Платформы класса «Репозиторий»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

GI

GitFlic

ИТ-инфраструктура
GitFlic от компании ООО «РеСолют» (Группа Астра) — российский программный продукт из реестра отечественного ПО...
Цена по запросу
★ 4.8
Подробнее →
DC

Deckhouse Code

Разработка ПО
Deckhouse Code Enterprise EditionDeckhouse Code EEDC EEDeckhouse Code Standard EditionDeckhouse Code SEDC SE
Цена по запросу
Подробнее →
Онколинк

Онколинк

Разработка ПО
Платформа для управления онкологическими пациентами и координации медицинского обслуживания. Входит в Единый р...
Цена по запросу
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «Репозиторий».

Где применяется

Отрасли, в которых «Репозиторий» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про Репозиторий

Чем репозиторий отличается от обычного хранилища файлов?

Репозиторий хранит не только файлы, но и полную историю их изменений (каждое изменение – коммит с автором, датой и описанием). Это позволяет откатиться к любой версии и понять, кто, когда и зачем что-то изменил.

Что такое Git и почему он стал стандартом?

Git – распределённая система контроля версий, созданная Линусом Торвальдсом в 2005 году. Каждый разработчик имеет полную копию репозитория. Git обеспечивает скорость, надёжность и гибкое ветвление, что сделало его стандартом де-факто.

Что такое форк (fork) репозитория?

Форк – создание независимой копии репозитория под своим аккаунтом. Изменения в форке не влияют на оригинал. Используется для предложения изменений в open-source проекты через Pull Request.

Что такое репозиторий артефактов и зачем он нужен?

Хранилище скомпилированных пакетов и зависимостей (JAR, npm, Docker-образы). Обеспечивает воспроизводимость сборок: вместо загрузки зависимостей из интернета CI/CD берёт их из внутреннего репозитория, что надёжнее и быстрее.

Как репозиторий связан с CI/CD?

CI/CD-пайплайн запускается автоматически при событиях в репозитории (push в ветку, создание тега). Это обеспечивает автоматическую сборку, тестирование и деплой кода при каждом изменении.

Что такое GitOps?

GitOps – практика управления инфраструктурой, при которой Git-репозиторий является единственным источником истины. Любое изменение конфигурации производится через Pull Request с ревью и автоматически применяется к инфраструктуре.