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

Вступ до систем контролю версій: Git та SVN

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

Зазвичай, БА, як й всі інші в команді, використовують системи контроля версій для того, щоб контролювати, коли та які саме зміни внесені у вимоги. Це допомагає легко відслідковувати, звідки узялася та чи інша вимога. На відміну від тестувальників-автоматизаторів та розробників, яким часто потрібно одночасно працювати над одним файлом, змінюючи різні його частини, бізнес-аналітики частіше використовують функцію повернення до однієї з попередніх версій, або для порівняння кількох, коли ведеться активна робота над описом вимог.


Що таке системи контролю версій?

Система контролю версій — це інструмент, що дозволяє створювати та координувати роботу над одним проектом, відстежуючи всі зміни, що вносяться командою або окремими користувачами. Головні переваги 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"




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

105 переглядів0 коментарів

Останні пости

Дивитися всі

Opmerkingen


bottom of page