Управление версиями Git

Система контроля версий

Image credit: Unsplash

Обзор

Системы контроля версий (Version Control System, VCS) используются при работе с несколькими людьми в рамках проекта. Обычное главное дерево проекта хранится в локальном или удаленном репозитории, доступ к которому настроен для участников проекта.При внесении изменений в содержимое проекта система контроля версий позволяет исправлять их, объединять изменения, внесенные разными участниками проекта, при необходимости выполнять откат к любой более ранней версии проекта. В классических системах контроля версий используется централизованная модель, предполагающая наличие единого хранилища для хранения файлов. Большинство функций контроля версий выполняются специальным сервером. Участник проекта (пользователь) получает нужную ему версию файлов перед началом работы с помощью определенных команд.После внесения изменений пользователь помещает новую версию в репозиторий. В то же время предыдущие версии не удаляются из центрального хранилища, и вы можете вернуться к ним в любое время.Сервер может сохранять полную версию измененных файлов и производить так называемое сжатие данных - сохранять только изменения между последовательными версиями, что уменьшает объем хранимых данных. Системы контроля версий поддерживают возможность отслеживания и разрешения конфликтов, которые могут возникнуть, когда несколько человек работают над одним файлом.Вы можете объединить (объединить) изменения, внесенные разными участниками ( автоматически или вручную), вручную выбрать нужную версию, полностью отменить изменения или заблокировать файлы для изменения. В зависимости от настроек блокировка не позволяет другим пользователям получить рабочую копию или предотвращает изменение рабочей копии файла с помощью файловой системы операционной системы, предоставляя таким образом привилегированный доступ только одному пользователю, работающему с файлом. Системы контроля версий также могут предоставлять дополнительные, более гибкие функциональные возможности.Например, они могут поддерживать работу с несколькими версиями одного файла, сохраняя общую историю изменений вплоть до ветвления версий и свои собственные истории изменений каждой ветви.Кроме того, обычно доступна информация о том, кто из участников, когда и какие изменения были внесены.Обычно такого рода информация хранится в журнале изменений, доступ к которому может быть ограничен. В отличие от классических, в распределенных системах управления версиями центральное хранилище не является обязательным. Среди классических венчурных капиталистов наиболее известны CV, Subversion, а среди распределенных

  • Git, Bazaar, Mercurial. Принципы их работы схожи, отличаются они в основном синтаксисом команд, используемых в работе.
Маргарита Романовна Щербак
Маргарита Романовна Щербак
Студент факультета физико-математических и естественных наук “Прикладная информатика”

Щербак Маргарита Романовна окончила 9 и 11 классы с отличием. В настоящее время учится в Российском университете. Маргарита также ведет активную волонтерскую деятельность и занимается саморазвитием.