Система контроля версий (СКВ, VCS) — это инструмент, который позволяет отслеживать изменения в файлах и управлять этими изменениями с течением времени.
Основные функции:
- История изменений: Сохранение каждой версии файла с возможностью вернуться к любой предыдущей.
- Ветвление: Возможность создавать независимые линии разработки для экспериментов или работы над разными функциями параллельно.
- Слияние: Соединение изменений из разных веток в единую.
- Синхронизация: Согласование изменений между локальными копиями кода и центральным репозиторием (для распределенных СКВ).
- Отслеживание авторов: Идентификация, кто и когда внес конкретное изменение.
Типы СКВ:
- Централизованные (CVCS): Например, Subversion (SVN). Есть один центральный сервер, где хранится вся история. Клиенты работают с этой центральной копией.
- Распределенные (DVCS): Например, Git. У каждого пользователя есть полная копия репозитория, включая всю историю. Работа может вестись оффлайн, синхронизация происходит при необходимости.
Преимущества использования СКВ:
- Совместная работа: Упрощает параллельную работу команды над общим кодом.
- Восстановление: Позволяет легко откатиться к стабильной версии при возникновении ошибок.
- Трассируемость: Видно, кто, когда и зачем внес каждое изменение.
- Резервное копирование: История изменений по сути является формой резервного копирования.
- Управление релизами: Помогает отслеживать разные версии продукта.
Пример команды Git для сохранения изменений:
bash