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

Курсы

Программирование
iOS Developer. Basic
-23%
Python Developer. Professional
-13%
Golang Developer. Professional
-17%
Python Developer. Basic
-16%
iOS Developer. Professional
-13%
C# ASP.NET Core разработчик
-18%
Unity Game Developer. Professional
-11%
React.js Developer
-12%
Android Developer. Professional
-7%
Software Architect
-12%
C++ Developer. Professional
-8%
Разработчик C#
-8%
Backend-разработчик на PHP
-8%
Архитектура и шаблоны проектирования
-12%
Программист С Разработчик на Spring Framework MS SQL Server Developer AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Vue.js разработчик VOIP инженер Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер-практикум по использованию и настройке GIT IoT-разработчик Advanced Fullstack JavaScript developer Супер-интенсив Azure
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-17%
DevOps практики и инструменты
-18%
Архитектор сетей
-21%
Инфраструктурная платформа на основе Kubernetes
-22%
Супер-интенсив «IaC Ansible»
-16%
Супер-интенсив по управлению миграциями (DBVC)
-16%
Administrator Linux. Professional
-5%
Administrator Linux.Basic
-10%
Супер-интенсив «ELK»
-10%
Базы данных Сетевой инженер AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив «СУБД в высоконагруженных системах»
Специализации Курсы в разработке Подготовительные курсы
+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 комментариев
Для комментирования необходимо авторизоваться