Система управления версиями

Материал из devopswiki
(перенаправлено с «Система контроля версий»)
Перейти к: навигация, поиск

Система управления версиями (англ. Version Control System, VCS) — позволяет вернуть состояние электронного документа или бинарного файла к предыдущим версиям при редактировании содержимого несколькими авторами. Такая система важна для отслеживания правок, вносимых каждым из авторов, а также помогает исправлять ошибки и защищает материалы от вандализма и спама. В большинстве случаев это отдельное ПО, но может также быть встраиваемым модулем в таких приложениях как текстовый редактор, электронные таблицы и различные системы управления контентом.

Системы управления версиями чисто используются при разработке ПО - в них хранится исходный код разрабатываемой программы. Также VCS можно применять и в других отраслях, в которых работа связана с часто изменяющимися электронными документами. Кроме того, они часто используется в инструментах для конфигурационного управления.

Общие сведения

Общую информацию Вы можете получить, перейдя по следующим ссылкам:

Система управления версиями в Википедии

Системы управления версиями для Linux. Обзор архитектуры, моделей и примеров

Риски Систем управления версиями

Расширенные сведения

С дополнительной информацией об этом понятии Вы можете ознакомиться ниже.

Классические системы управления версиями работают по централизованную модели: документы находятся в едином хранилище, которое управляется при помощи специального сервера, выполняющего основную часть операций по управлению версиями. При работе с документами сначала пользователь должен получить из хранилища требуемую версию документа. Для этой цели, как правило, создаётся т.н. «рабочая копия» (локальная копия документа). Можно загрузить последнюю версию документа, или же любую из предыдущих версий. Нужный документ можно выбрать по номеру версии или по дате создания, а в некоторых случаях по другим признакам, таким как теги и т. п.

Так как самой востребованной версией файла является последняя, во многих реализациях при сохранении новой версии система сохраняет её целиком и заменяет последнюю ранее сохранённую версию в хранилище разницей между предыдущей и последней версией.

Отдельные системы, такие как ClearCase, поддерживают сохранение версий в двух форматах. Большая часть версий сохраняется в виде разностей (дельт). По решению администратора, все версии всех файлов периодически сохраняются в полном виде. Благодаря этому подходу обеспечивается почти полное восстановление истории, если репозиторий будет поврежден.

Большинство системы управления версиями предоставляют дополнительные возможности, такие как:

  • Возможность создавать разные "ветки" варианты одного документа, у которых история изменений является общей до точки ветвления, а после неё - истории различаются.
  • Информация о том, кто и когда добавил или изменил конкретные строки в файле.
  • Журнал изменений, где пользователи могут оставлять комментарии о том, какие изменения были произведены в данной версии и для каких целей.
  • Контроль прав доступа пользователей: разрешение или запрет на чтение и изменение данных для различных ролей.

Разные системы управления версиями обладают специфическими особенностями. Например, это может быть список команд или рабочий процесс администраторов и пользователей. Однако, для большинства VCS основная форма работы стандартна. Предполагается, что уже существует проект и его репозиторий размещён на сервере, к которому получают доступ разработчики.