Гілка (керування версіями)
Гілка (англ. branch), в системах керування версіями — напрям розробки, який існує незалежно від іншого напряму, але має з ним спільну історію. Гілка починається як копія чогось і, рухаючись з цієї точки, створює свою власну історію. Системи керування версіями, такі як Git, Subversion, Mercurial, та ін. надають інструменти для створення та злиття гілок, фіксації змін у них та переключення між гілками.
Майже кожна система контролю версій (СКВ) підтримує гілки (англ. branches) в певній мірі.[1]. В багатьох системах контролю версій галуження — це «дорогий» процес, який вимагає створення копії коду, що може зайняти багато часу для великих проектів. Наприклад, в Subversion гілка — це копія каталогу файлової системи. Проте гілка в Git це просто легкий вказівник на один з комітів. Тут гілки є надзвичайно легкими, операції галуження та переходу між ними відбуваються майже миттєво. Існує кілька підходів до використання системи Git, серед яких, найпоширенішою є так звана концепція gitflow — центральний репозитарій працює з двома паралельними між собою гілками: master і develop.
Багато розробників підтримують такий процес, коли основна гілка містить стабільну версію коду — найімовірніше того, що був чи буде запроваджений у виробництво. Часто СКВ мають спеціальні назви для основної гілки. Наприклад, «master» в Git, або trunk в SVN.
Паралельно до основної гілки існує ще робоча гілка (англ. release branch). Вона використовуються для розробки нової версії програмного забезпечення та тестування його стабільності. Коли команда розробників вирішує, що нова версія програми готова до випуску, зміни з робочої гілки переносять у основну (master) і позначаються номером версії. Робочі гілки зазвичай зберігаються протягом тривалого часу.
Поряд з основними гілками — master і develop, можливе існування також додаткових гілок, які забезпечують паралельну розробку проекту декількома членами команди, полегшують відслідковування помилок, а також сприяють швидкому усуненню поточних проблем, які виникатимуть у процесі розробки проекту. У процесі розробки складного проекту можуть використовуватися різні види додаткових гілок, зокрема:
Тематичні гілки є відгалуженням від робочої гілки (develop) і після завершення розробки визначеного функціоналу на них повинні бути злиті саме з робочою гілкою. Тематичні гілки використовуються для розробки нових, специфічних функцій майбутньої версії проекту. Основною особливістю даних гілок є те, що вони існують доки триває розробка певної функції, а потім після злиття з гілкою develop вони видаляються.
Гілки версій призначені для підготовки нової версії проекту. Вони дозволяють за мить до завершення роботи над поточною версією визначати місця підключення до головної гілки, а також надають можливість виконувати незначні правки й готувати дані про версію (номер, дата створення тощо). Виконання такого виду операцій на гілці версії дозволяє значно спростити розгалуження головної гілки develop. Відгалуження гілки версії від робочої гілки develop відбуватиметься за умови отримання бажаного стану нової версії проекту на робочій гілці.
Гілки помилок функціонально дуже схожі на гілки версій, оскільки також використовуються для підготовки нової версії проекту, але створюються вони спонтанно. Утворюються гілки помилок у разі потреби виконання миттєвих дій задля усунення небажаних станів робочої версії проекту. Тобто, якщо потрібно виправити критичну помилку у робочій версії проекту, то створюється відгалуження гілки помилок від головної гілки master, на тому її етапі, що відповідає робочій версії проекту в цей момент часу. Суттю використання таких гілок є те, що у разі виникнення непередбачуваних помилок робота членів команди на головній гілці develop не буде зупинена, а помилки будуть швидко знайдені і виправлені.
- ↑ "Галуження-в-git-Гілки-у-кількох-словах". Архів оригіналу за 6 червня 2022. Процитовано 13 червня 2022.
- Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato http://svnbook.red-bean.com/nightly/ru/index.html [Архівовано 12 квітня 2018 у Wayback Machine.] Управление версиями в Subversion.
- Гриценко, В.Г.; Подолян, О.М. (2014). Використання системи управління версіями GIT для організації командної роботи над ІТ проектом. Інформаційні технології і засоби навчання. 39 (1). Архів оригіналу за 1 грудня 2017. Процитовано 28 листопада 2017.
- [1] [Архівовано 6 червня 2022 у Wayback Machine.]
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |
Ця стаття потребує додаткових посилань на джерела для поліпшення її перевірності. (січень 2018) |