УДК 004.413

ИССЛЕДОВАНИЕ СИСТЕМ УПРАВЛЕНИЯ ВЕРСИЯМИ ФАЙЛОВ ДЛЯ ОБЕСПЕЧЕНИЯ ЭЛЕКТРОННОЙ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ

Ланских Евгений Владимирович1, Гончар Евгений Юрьевич2, Скрипка Яна Сергеевна3
1Черкасский государственный технологический университет, к.т.н., доцент, кафедры компьютерных систем
2Киевский национальный университет технологий и дизайна, студент кафедры информационно компьютерных технологий и фундаментальных дисциплин
3Киевский национальный университет технологий и дизайна, ассистент кафедры информационно компьютерных технологий и фундаментальных дисциплин

Аннотация
Данная статья посвящена системам управления версиями файлов. Целью данной статьи является обзор существующих систем управления версиями файлов. В ходе написания данной статьи был проведен обзор основных систем для управления версиями файлов, и на основе этого обзора была выбрана система Git которая является наиболее эффективной на сегодняшний день для проектирования систем управления версиями.

Ключевые слова: локальна СУВ, система управления версиями файлов, централизована РСУВ, централизована СУВ


RESEARCH OF VERSION CONTROL FILES FOR E-BUSINESS ENTERPRISE

Lanskih Evgeniy Vladimirovich1, Gonchar Evgeniy Yurevich2, Skrupka Yana Sergeevna3
1Cherkasy State Technological University, Ph.D., Associate Professor, Department of Computer Systems
2Kiev National University of Technology and Design, student of computer technology and information fundamental disciplines department
3Kiev National University of Technology and Design, Assistant of the Department of Information and Computer Technology fundamental disciplines department

Abstract
This article focuses on version control system files. The purpose of this article is to review the existing system version control files. During the writing of this paper were reviewed basic systems to manage file versions, and on the basis of this review was chosen Git system that is most efficient to date for design revision control systems.

Keywords: Centralized version control, Distributed version control., Git, Local version control, repository, version control system files


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Ланских Е.В., Гончар Е.Ю., Скрипка Я.С. Исследование систем управления версиями файлов для обеспечения электронной деятельности предприятия // Современные научные исследования и инновации. 2014. № 4. Ч. 1 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2014/04/33779 (дата обращения: 02.06.2017).

В современном мире наблюдается постоянное развитие информационных технологий, который требует постоянного совершенствования существующих программных продуктов, с помощью которых происходит внедрение современных тенденций развития сферы ИТ. Одним из методов совершенствования является модификация существующих программ. Это в свою очередь порождает проблему отслеживания появления новых версий модификации и определённых изменении, которые происходят в пределах одной модификации. Эта проблема сводится к созданию систем контроля версий файлов, как программ, так и документов. До появления таких систем большинство разработчиков, чтобы управлять версиями, просто хранили копии предыдущих версий файлов. То есть без наличия этих систем разработчикам нужно было выполнять определенное количество рутинной работы по отслеживания обновлений и модификаций программ и документов. Такой подход был распространен, потому что имел довольно простую реализацию. Однако с увеличением объемов программных продуктов, повышения их сложности, разветвления, появлением технологий совместной разработки (дистанционно с использованием сети Интернет) такой метод потерял свою актуальность.

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

На первом этапе разработки систем данного класса использовались так называемые локальные системы управления версиями, в основе которой лежит робота с базой данных, в которой хранятся все изменения файлов (рисунок 1).

 

Рисунок 1 - Общая схема локальной СУВ

Самой популярной системой управления версиями данного типа является система RCS. В основе этой системы лежит работа с наборами патчей изменениями (патч – файл что описывают отличие между файлами) которые хранятся в cпециальном формате. Это дает возможность повторно компилировать любой файл в любое время.

С появлением возможности одновременной работы, определенной группы разработчиков над определенными файлами возникла проблема необходимости одновременно отслеживать изменения всех разработчиков, которые работают на разных компьютерах которые объединённые в локальную сеть. Это привело к тому что начали создавать централизованные системы управления версиями (ЦСУВ). Основой такой системы служить центральный сервер, на котором хранятся все файлы, в которые вносятся изменения, и клиентов, которые получаются копии файлов с сервера (рисунок 2). Это был общий стандарт систем управления версиями достаточно длительное время.

 

Рисунок 2 - Общая схема централизованной СУВ

Такой подход имеет ряд преимуществ. Все знают, кто и чем занимается в проекте. В администраторов есть четкий контроль над тем, кто и что может делать, и администрировать ЦСУВ гораздо легче, чем локальные базы на каждом клиенте.

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

Следующим шагом в разработке СУВ стало появление распределенных систем управления версиями (рисунок 3). В случае, когда сервер выходит из строя, любой клиентский репозиторий может быть скопирован обратно на сервер, чтобы восстановить базу данных. Каждый раз, когда клиент получает последнюю версию файлов, создается полная копия всех данных.

 

Рисунок 3 - Общая схема централизованной РСУВ

В этих систем можно работать с удаленными репозиториями, также можно одновременно работать с различными группами разработчиков в рамках одного проекта. В одном проекте можно одновременно вести несколько типов рабочих процессов.

В последнее время наиболее распространенной является система управления версиями Git. На базе Git удобно создавать специализированные системы контроля версий.

Git поддерживает быстрое разделение и слияние версий, включает инструменты для визуализации и навигации по нелинейной истории разработки.

Git предоставляет каждому разработчику локальную копию всей истории разработки, изменения копируются из одного репозитория в другой.

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

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

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

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


Библиографический список
  1. Richard E. Silverman. Git Pocket Guide. O’Reilly Media 2013.
  2. Travis Swicegood. Pragmatic Guide to Git. Pragmatic Bookshelf 2010.
  3. Karl Fogel, Moshe Bar. Open Source Development with CVS. Paraglyph Press 2003.
  4. Scott Chacon.  Git Internals, Topfunky Corporation 2008.
  5. Jon Loeliger, Jon Loeliger. Version Control with Git: Powerful tools and techniques for collaborative software development. O’Reilly Media 2012.
  6. Travis Swicegood.  Pragmatic Version Control Using Git, Pragmatic Bookshelf 2008.
  7. Ben Lynn. Git Magic. Create Space Independent Publishing Platform 2010.
  8. Bryan O’Sullivan. Mercurial: The Definitive Guide. O’Reilly Media 2009.


Все статьи автора «Гончар Евгений Юрьевич»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: