Что такое система контроля версий (VCS)?

«Что такое система контроля версий (VCS)?» — вопрос из категории Инструменты тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Система контроля версий (VCS) — это программный инструмент для записи изменений в файлах (чаще всего исходного кода) с течением времени. Это позволяет возвращаться к предыдущим версиям, анализировать историю, а также координировать работу нескольких людей над одним проектом.

Ключевые возможности:

  • Хранение полной истории изменений каждого файла.
  • Ветвление (branching) и слияние (merging) для параллельной разработки функций.
  • Откат к любой предыдущей версии проекта.
  • Разрешение конфликтов при одновременном редактировании.
  • Аудит: Кто, что и когда изменил.

Популярные системы: Git (распределенная, стандарт де-факто), Subversion (SVN, централизованная).

Базовый рабочий процесс в Git:

# Инициализация репозитория в текущей папке
git init

# Добавление файлов в "индекс" (staging area) для следующего коммита
git add myfile.py

# Создание коммита — фиксация текущего состояния индекса в истории
git commit -m "Добавлен основной модуль"

# Связь с удаленным репозиторием и отправка изменений
git remote add origin https://github.com/user/repo.git
git push -u origin main

Основные понятия:

  • Репозиторий — хранилище истории проекта.
  • Коммит (commit) — "снимок" изменений с уникальным идентификатором.
  • Ветка (branch) — независимая линия разработки.
  • Удаленный репозиторий (remote) — общая копия на сервере (GitHub, GitLab).