top of page
Фото автораGanna Kaplun

Введение в системы контроля версий: Git и SVN

Для современных бизнес-аналитиков приобретение технических навыков становится важным элементом конкурентоспособности. Системы контроля версий (VCS, от англ. Version Control Systems) значительно упрощают работу с файлами и позволяют отслеживать все изменения. С их помощью можно избежать потери данных, легко откатиться к предыдущим версиям или исправить ошибки в коде или документации.


Обычно бизнес-аналитики, как и все остальные члены команды, используют системы контроля версий для отслеживания того, когда и какие изменения были внесены в требования. Это помогает понять, откуда взялась та или иная правка. В отличие от тестировщиков-автоматизаторов и разработчиков, которым часто нужно одновременно работать над одним файлом, изменяя его разные части, бизнес-аналитики чаще используют функции отката к предыдущим версиям или сравнения нескольких версий во время активной работы над описанием требований.


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

Система контроля версий — это инструмент, который позволяет создавать и координировать работу над проектом, отслеживая все изменения, внесённые командой или отдельными пользователями. Основные преимущества VCS:

  • Безопасность данных: все изменения сохраняются, их можно отслеживать и откатывать при необходимости.

  • Совместная работа: возможность коллективной работы над одним проектом.

  • Отслеживание изменений: позволяет легко узнать, кто, когда и что изменил.


Git и SVN: ключевые различия

Git и SVN (система Subversion) широко используются в разных сферах. Благодаря своим особенностям они подходят для различных сценариев:

  • Git: децентрализованная система контроля версий. Данные хранятся на каждом компьютере пользователей.

    • Преимущества: высокая скорость, возможность работы оффлайн, поддержка нескольких версий продукта одновременно.

    • Недостатки: сложность для новичков.

    • Типичные области использования: стартапы, open-source проекты, проекты с множеством веток (например, системы с разными версиями продукта, такими как freemium, более дешёвая и более дорогая опции).

  • SVN: централизованная система, где все изменения хранятся на сервере.

    • Преимущества: простота использования, подходит для небольших команд.

    • Недостатки: зависимость от сервера. Если сервер с репозиторием станет недоступен, отслеживание изменений других пользователей станет невозможным.

    • Типичные области использования: корпоративные среды, где требуется строгий контроль доступа, и проекты на устаревшем технологическом стеке, требующие поддержки.


Использование систем контроля версий для бизнес-аналитиков

Бизнес-аналитики используют VCS для управления и организации технической документации, координируют свою работу с разработчиками и тестировщиками. Обычно создаются репозитории для хранения документов, особенно с использованием плагинов в сервисах GitHub или Bitbucket. Системы контроля версий также интегрируются с Jira, что позволяет отслеживать изменения в задачах, к которым они относятся.


Примеры применения:

  • Отслеживание изменений в спецификациях и требованиях.

  • Создание шаблонов для документации.

  • Совместная работа над диаграммами или процессными схемами.


Популярные команды Git для начинающих

схема работы Git для контроля версий

Эта схема илистрюрует основной процесс работы с Git и объясняет, как изменения в файлах проходят через несколько этапов, перед тем как попасть в удаленный репозиторий.


Workspace (Рабочая область)

  • Это место, где вы работаете над файлами локально на своем компьютере.

  • Вы добавляете, изменяете или удаляете файлы.


Команды:

  • git add [файл] — добавляет файлы в «стейджинг» (следующий этап).

  • git mv [старое_имя] [новое_имя] — переименовывает файл.

  • git rm [файл] — удаляет файл.


Staging (Промежуточное хранилище)

  • Тут хранятся файлы, которые вы подготовили для сохранения в локальном репозитории.

  • Это как "черновик" для ваших измененией.


Команды:

  • git commit — сохраняет изменения в локальный репозиторий с сообщением.

  • git commit -a — пропускает этап стейджинга, сразу сохраняя изменения.


Local Repository (Локальный репозиторий)

  • Тут сохраняются ваши изменения на компьютере. Это история всех ваших комитов.

  • Из лоального репозитория изменения можно отрпавить в удаленный репозиторий.


Команды:

  • git push — отправляет изменения в удалённый репозиторий..


Remote Repository (Удалённый репозиторий)

  • Это сервер, где хранятся ваши проекты.

  • Удаленный репозиторий используется для совместной работы в команде.


Команды:

  • git fetch — получает последние изменения с удаленного репозитория, но не объединяет их с вашим локальным репозиторием.

  • git pull — загружает последние изменения с удаленного репозитория и сразу объединяет из с вашим локальным репозиторием.


Дополнительные действия:

  • git reset [файл] — удаляет изменения из «стейджинга», но оставляет их в рабочей области.

  • git reset [комит] — окатывает изменения до указаного комита (версии).

  • git diff — сравнивает изменения в рабочей области со стеджингом или последним комитом.


Простой пример работы Git для бизнес-аналитика

  1. Вы создаете файл с требованиями рабочей области.

  2. Добавляете его в стэйджинг (git add [файл]).

  3. Сохраняете изменения в локальный репозиторий (git commit -m "Описание изменений").

  4. Отправляете изменения в удаленный репозиторий (git push).


Эта последовательность действий обеспечивает сохранение истории изменений и позволяет легко сотрудничать с другими членами команды.


Распространенные команды SVN

Схема работы системы контроля версий SVN

Эта схема показывает, как работает централизованная система контроля версий SVN (Subversion). В данном случае имеется центральный сервер (SVN Server), к которому подключаются локальные клиенты для получения и сохранения изменений.


Основные элементы SVN

  1. SVN Server

    • Центральный сервер, где хранится репозиторий. Все изменения с локальных клиентов передаются на сервер и все клиенты получают обновления с сервера.

  2. Repository (Репозиторий)

    • Это место на сервере, где хранятся все файлы проекта и их версии. Репозиторий является центральной точкой синхронизации клиентов.

  3. SVN Client (Клиєнт SVN)

    • Это приложение или инструмент, через который пользователь работает с локальной копией файлов (пример популярнейшего такого инструмента ниже).

    • В примере есть два клиента: Client 1 и Client 2.

·       ККогда Client 1 выполняет svn commit (объяснение команды ниже), его изменения становятся доступными в репозитории.

·       Когда Client 2 выполняет svn update (объяснение команды ниже), он получает эти изменения в свою локальную копию.

  1. Local Working Copy (Локальная рабочая копия)

    • Локальная копия файлов репозитория, находящаяся на компьютере каждого клиента. Пользователь вносит изменения в свою локальную копию перед тем, как обновить репозиторий.


Основные действия и команды в SVN

  1. Update (Обновление локальной копии): клиенты получают последние изменения из репозитория на сервере в свои локальные рабочие копии.

    • svn update

  2. Commit (Сохранение изменений в репозитории): клиенты направляют свои изменения в репозиторий на сервере, чтобы другие могли их увидеть и использовать.

    • svn commit -m "Описание изменений" - сохраняет изменения в репозиторий с добавлением описания.

  3. Add (Добавить новые файлы): новые файлы добавляются в репозиторий, чтобы их начали отслеживать.

    • svn add [файл]

  4. Diff (Просмотр изменений): показывает различия между текущей локальной копией и репозиторием.

    • svn diff — сравнивает локальные изменения с последней версией на сервере.

  5. Delete (Удаление файлов): удаляет файлы из репозитория.

    • svn delete [файл]


Типичный сценарий работы в SVN

  1. Пользователь загружает последнюю версию файлов с сервера (svn update).

  2. Пользователь вносит изменения в свою локальную копию.

  3. Пользователь добавляет новые файлы к отслеживанию, если это необходимо (svn add [файл]).

  4. Пользователь просматривает изменения с помощью команды svn diff.

  5. Изменения сохраняются в репозитории на сервере (svn commit -m "Описание изменений").


Инструменты для работы для Git и SVN

ОВот несколько популярных инструментов, упрощающих использование Git и SVN:

  • GitHub: платформа для хранения и управления Git-репозиториями.

  • Bitbucket: поддерживает Git и Mercurial (еще одна система контроля версий), удобен для командной работы.и.

  • TortoiseSVN: клиент для работы с SVN в Windows.

TortoiseSVN: клиент для работы с SVN в Windows.
  • SourceTree: графический интерфейс для работы с Git и Mercurial.

SourceTree: графический интерфейс для работы с Git и Mercurial.

Почему стоит освоить VCS?

Работа с VCS поможет бизнес-аналитикам:

  • ПУлучшить коммуникацию с технической командой.

  • Эффективно работать с версиями документации.

  • Развить техническую экспертизу.

Навыки работы с такими инструментами как Git и SVN открывают новые горизонты для карьерного роста, делая вашу работу более структурированной и прозрачной. Начните с базовых команд и быстро оцените преимущества использования систем контроля версий.


Если вы хотите подробнее рассмотреть эту и другие темы по системному анализу, присоединяйтесь к ближайшему тренингу "Technical skills for Business Analyst".


Если вы опытный системный аналитик, и хотите углубить свои знания, для вас подготовлен курс "Advanced Technical skills for Business Analyst"




Новости и статьи по бизнес-анализу:


26 просмотров0 комментариев

Недавние посты

Смотреть все

留言


bottom of page