28982 автора и 62 редактора ответили на 85243 вопроса,
разместив 135214 ссылок на 43429 сайтов, присоединяйтесь!

Какие функциональные возможности предоставляет система управления версиями?

РедактироватьВ избранноеПечать

Система управления версиями (Version Control System) — программное обеспечение, предназначенное для организации работы с изменяющейся информацией.


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


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

  • Хранение версий файлов. Большинство систем управления версиями обеспечивает хранение данных в центральном репозитории (хранилище). Обязанности управления репозиторием обычно возлагается на системных администраторов. Поскольку в этом случае настройки репозитория и создание резервных копий производится квалифицированными специалистами, надежность хранения данных повышается.
  • Фиксация изменений состояния файла. Команда фиксации изменений (commit) передает изменения, сделанные разработчиком, в репозиторий и помечает новое состояние файла как очередную его версию.
  • Восстановление любой версии файла. Эту возможность, наверное, стоит признать самой главной. Разработчик может как угодно изменять содержимое файла; при условии своевременной фиксации версий и, конечно же, при надлежащем администрировании репозитория, файл можно без труда вернуть к любому из зафиксированных ранее состояний. Другими словами, ни одна из предыдущих версий пропасть не может.
  • Создание ветвей в составе проекта. В ряде случаев возникает необходимость, начиная с некоторой версии файла, вносить две независимых друг от друга последовательности изменений. Сделать это позволяет механизм ветвления. Пользователь имеет возможность на каком-то этапе работы с файлом, создать новую ветвь, после чего изменения в основной и вновь созданной ветви могут вноситься независимо друг от друга. Как правило, новая ветвь создается не для одного файла, а для проекта — в данном случае поддерева каталогов с файлами.
  • Интеграция (слияние) данных из разных ветвей проекта. На каком-то этапе работы с разными ветвями проекта можно выполнить слияние данных в файле — объединение изменений, независимо внесенных различными разработчиками в различных ветвях.
  • Блокировка. Один из разработчиков имеет возможность захватить в монопольное использование файл или группу файлов для внесения в них изменений.
  • Разрешение конфликтов. Возможна ситуация, когда два разработчика вносят изменения в один и тот же файл. Тот из них, кто первый зафиксирует изменения (выполнит команду commit), сможет сделать это без проблем. Тот, разработчик, который зафиксирует изменения вторым, получит сообщение о конфликте, в данном случае о том, что его изменения выполнены не на базе последней, а на базе предпоследней версии файла. В такой ситуации необходимо объединить результаты работы двух разработчиков. Конфликт также может возникнуть и при интеграции содержимого файлов из разных ветвей проекта. Независимо от причины конфликтов, системы управления версиями предоставляют средства автоматического их разрешения. Однако, следует заметить, что данные средства как правило, малоэффективны и разрешать конфликты в большинстве случаев приходится вручную, а роль автоматических средств сводится к представлению конфликтующих фрагментов кода в удобном для разработчика виде.

Базовые функциональные возможности в различных системах управления версиями реализованы по-разному. Кроме того, разные системы предоставляют дополнительные возможности для работы с версиями. Более подробную информацию можно получить из руководства по конкретному продукту.

Несколько примеров из большого списка продуктов — систем управления версиями: Concurrent Versions System (CVS), Subversion (SVN), Razor, BitKeeper, Git.

Источники:

Последнее редактирование ответа: 28.10.2014

  • Оставить отзыв

    Оставить отзыв

РедактироватьВ избранноеПечать

«Какие функциональные возможности предоставляет система управления версиями»

В других поисковых системах:

GoogleЯndexRamblerВикипедия

В соответствии с пользовательским соглашением администрация не несет ответственности за содержание материалов, которые размещают пользователи. Для урегулирования спорных вопросов и претензий Вы можете связаться с администрацией сайта genon.ru. Размещенные на сайте материалы могут содержать информацию, предназначенную для пользователей старше 18 лет, согласно Федерального закона №436-ФЗ от 29.12.2010 года "О защите детей от информации, причиняющей вред их здоровью и развитию". Обращение к пользователям 18+.