Несколько слов об эволюции Centralized Version Control System | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Python Developer. Professional
-3%
Разработчик на Spring Framework
-5%
iOS Developer. Professional
-8%
Golang Developer. Professional
-6%
Agile Project Manager
-5%
C# ASP.NET Core разработчик
-6%
Android Developer. Basic
-10%
React.js Developer
-4%
MS SQL Server Developer
-8%
Scala-разработчик
-8%
Java Developer. Basic
-8%
Разработчик IoT
-13%
PostgreSQL Backend-разработчик на PHP Алгоритмы и структуры данных Разработчик программных роботов (RPA) на базе UiPath и PIX Unity Game Developer. Basic Разработчик голосовых ассистентов и чат-ботов Vue.js разработчик VOIP инженер NoSQL Супер-практикум по использованию и настройке GIT Symfony Framework iOS Developer. Basic Супер-интенсив «СУБД в высоконагруженных системах» Супер-интенсив "Tarantool"
Инфраструктура
DevOps практики и инструменты
-12%
Network engineer. Basic
-10%
Network engineer
-4%
Экcпресс-курс «ELK»
-10%
Инфраструктурная платформа на основе Kubernetes
-6%
Экспресс-курс по управлению миграциями (DBVC)
-10%
Мониторинг и логирование: Zabbix, Prometheus, ELK Administrator Linux. Professional Разработчик IoT
-13%
Основы Windows Server Разработчик программных роботов (RPA) на базе UiPath и PIX Reverse-Engineering. Professional Внедрение и работа в DevSecOps Administrator Linux. Advanced Infrastructure as a code in Ansible Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Экспресс-курс «IaC Ansible»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Несколько слов об эволюции Centralized Version Control System

DevOps_Deep_27.11_site-5020-2d2668.png

СVCS (Centralized Version Control System) — централизованные системы контроля версий, работа которых основана на том, что на сервере имеется одна центральная копия проекта, а программисты совершают свои изменения в этой центральной копии.

Таким образом, если нам нужно получить какую-нибудь ветку, мы идём на сервер, и он нам отдаёт эту ветку. Схему работы CVCS легко демонстрирует простой рисунок: DEV1-20219-3c55b5.jpgВ современных проектах СVCS практически не используются, так как они устарели и считаются архаизмом. Связано это с недостаточной эффективностью и ограниченными возможностями CVCS. Например, если инженер-разработчик отправлялся в регион, где есть проблемы с интернетом, возникал вопрос: как хранить всю историю изменений в коде?

Кроме невозможности удалённой работы при плохом интернете, нельзя не упомянуть ограниченную сервером производительность и сложности при merge'е наработок разных специалистов. В общем, если на вашем проекте до сих пор применяют CVCS — бегите.

Что пришло на смену CVCS?

В настоящее время при разработке программного обеспечения используют децентрализованные (распределённые) системы контроля версий DVCS (Distributed Version Control System). Они имеют несколько иную структуру и ряд принципиальных отличий. Например, у каждого инженера/разработчика есть свой репозиторий, который полностью копирует центральный, причём центральный сервер выступает в большей степени в качестве хаба для обмена. Наиболее яркий пример — Git.

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

Схема работы DVCS

DEV2-20219-6f923b.jpg На этом пока всё. Если хотите подробнее узнать о GIT и методах работы с ним, записывайтесь на курс «DevOps практики и инструменты»!

А какую DVCS используете вы? Пишите в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться