Ч а с т ь I главный редактор



Pdf көрінісі
бет14/77
Дата01.10.2023
өлшемі7,26 Mb.
#183162
1   ...   10   11   12   13   14   15   16   17   ...   77
Байланысты:
moluch 366 ch1


# 24 (366)

June 2021
9
Information Technology
И Н Ф О Р М А Ц И О Н Н Ы Е Т Е Х Н ОЛ О Г И И
Важность использования распределенных систем контроля версий
Будилов Виктор Николаевич, кандидат технических наук, доцент;
Романов Александр Александрович, студент магистратуры
Поволжский государственный университет сервиса (г. Тольятти)
В статье авторы определяют важность использования распределенных систем контроля версий для разработки программного 
продукта.
Ключевые слова:
 VCS, CVCS, DVCS, RCS, система контроля версий, контроль версий.
Д
ля разработки программного продукта необходимо исполь-
зовать систему контроля версии. Контроль версий—это си-
стема, которая записывает изменения в файл или набор файлов 
с течением времени, чтобы вы могли впоследствии вызывать 
определенные версии. Различают 3 вида контроля версии:
1. Локальная система контроля версий
Многие люди выбирают метод контроля версий — копиро-
вать файлы в другой каталог. Этот подход очень распространен, 
потому что он очень прост, но он также невероятно подвержен 
ошибкам. Легко забыть, в каком каталоге вы находитесь, и слу-
чайно записать в неправильный файл или скопировать файлы, 
которые вы не хотите использовать.
Чтобы решить эту проблему, программисты давно разра-
ботали локальные VCS, которые имели простую базу данных, 
в которой все изменения в файлах находились под контролем 
версий.
Рис. 1.
 Схема локальной системы контроля версий


«Молодой учёный»
.
№ 24 (366)
 .
Июнь 2021 г.
10
Информационные технологии
Одним из самых популярных инструментов VCS была си-
стема RCS, которая до сих пор распространяется на многих 
компьютерах. RCS работает, сохраняя наборы патчей (то есть 
различия между файлами) в специальном формате на диске; 
затем он может воссоздать, как любой файл выглядел в любой 
момент времени, сложив все патчи.
2. Централизованная система контроля версий
Следующая важная проблема, с которой сталкиваются люди, 
заключается в том, что им необходимо сотрудничать с разработ-
чиками других систем. Для решения этой проблемы были раз-
работаны централизованные системы контроля версий (CVCS). 
Эти системы (такие как CVS, Subversion и Perforce) имеют один 
сервер, который содержит все версионные файлы, и несколько 
клиентов, которые извлекают файлы из этого центрального 
места. На протяжении многих лет это был стандарт для контроля 
версий.
Эта настройка предлагает много преимуществ, особенно 
перед локальными VCS. Например, каждый в определенной 
степени знает, что делают все остальные в проекте. Админи-
страторы имеют детальный контроль над тем, кто что может 
делать, и гораздо проще администрировать CVCS, чем иметь 
дело с локальными базами данных на каждом клиенте. Тем не 
менее, эта установка также имеет некоторые серьезные недо-
статки. Наиболее очевидной является единственная точка от-
каза, которую представляет централизованный сервер. Если 
этот сервер отключается в течение часа, то в течение этого часа 
никто не сможет вообще сотрудничать или сохранять верси-
онные изменения во всем, с чем они работают. Если жесткий 
диск, на котором находится центральная база данных, повре-
жден и надлежащее резервное копирование не было сохранено, 
вы потеряете абсолютно все — всю историю проекта, за исклю-
чением того, что отдельные снимки будут на их локальных ком-
пьютерах. Локальные системы VCS страдают от этой же про-
блемы: всякий раз, когда у вас есть вся история проекта в одном 
месте, вы рискуете потерять все.
3. Распределенная система контроля версий
Именно здесь вступают в действие распределенные си-
стемы контроля версий (DVCS). В DVCS (например, Git, Mercu-
rial, Bazaar или Darcs) клиенты не просто проверяют последний 
снимок файлов; скорее они полностью отражают хранилище, 
включая его полную историю. Таким образом, если какой-либо 
сервер умирает, и эти системы сотрудничают через этот сервер
любое из клиентских репозиториев может быть скопировано 
обратно на сервер для его восстановления. Каждый клон — это 
полная резервная копия всех данных.
Кроме того, многие из этих систем прекрасно справля-
ются с наличием нескольких удаленных репозиториев, с кото-
рыми они могут работать, поэтому вы можете одновременно 
работать с разными группами людей по-разному в рамках од-
ного проекта. Это позволяет настроить несколько типов ра-
бочих процессов, которые невозможны в централизованных 
системах, например, иерархические модели.
На рынке лидирует система контроля версии — Git. Также 
для работы с ней есть инструмент Gitlab. GitLab — веб-инстру-
мент жизненного цикла DevOps с открытым исходным кодом, 
представляющий систему управления репозиториями кода для 
Git с собственной вики, системой отслеживания ошибок, CI/CD 
пайплайном и другими функциями.
У распределенной системы контроля версий больше плюсов 
для использования в разработке программных продуктов, чем 
другие системы контроля версий, что позволяет говорит о не-
обходимости её использования.
Рис. 2.


Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   ...   77




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет