Гілка (англ. branch), в системах керування версіями — напрям розробки, який існує незалежно від іншого напряму, але має з ним спільну історію. Гілка починається як копія чогось і, рухаючись з цієї точки, створює свою власну історію. Системи керування версіями, такі як Git, Subversion, Mercurial, та ін. надають інструменти для створення та злиття гілок, фіксації змін у них та переключення між гілками.
Використання гілок
Майже кожна система контролю версій (СКВ) підтримує гілки (англ. branches) в певній мірі.. В багатьох системах контролю версій галуження — це «дорогий» процес, який вимагає створення копії коду, що може зайняти багато часу для великих проектів. Наприклад, в Subversion гілка — це копія каталогу файлової системи. Проте гілка в Git це просто легкий вказівник на один з комітів. Тут гілки є надзвичайно легкими, операції галуження та переходу між ними відбуваються майже миттєво. Існує кілька підходів до використання системи Git, серед яких, найпоширенішою є так звана концепція gitflow — центральний репозитарій працює з двома паралельними між собою гілками: master і develop.
Основні гілки (master)
Багато розробників підтримують такий процес, коли основна гілка містить стабільну версію коду — найімовірніше того, що був чи буде запроваджений у виробництво. Часто СКВ мають спеціальні назви для основної гілки. Наприклад, «master» в Git, або trunk в SVN.
Робочі гілки (develop)
Паралельно до основної гілки існує ще робоча гілка (англ. release branch). Вона використовуються для розробки нової версії програмного забезпечення та тестування його стабільності. Коли команда розробників вирішує, що нова версія програми готова до випуску, зміни з робочої гілки переносять у основну (master) і позначаються номером версії. Робочі гілки зазвичай зберігаються протягом тривалого часу.
Додаткові гілки
Поряд з основними гілками — master і develop, можливе існування також додаткових гілок, які забезпечують паралельну розробку проекту декількома членами команди, полегшують відслідковування помилок, а також сприяють швидкому усуненню поточних проблем, які виникатимуть у процесі розробки проекту. У процесі розробки складного проекту можуть використовуватися різні види додаткових гілок, зокрема:
Тематичні гілки (feature)
Тематичні гілки є відгалуженням від робочої гілки (develop) і після завершення розробки визначеного функціоналу на них повинні бути злиті саме з робочою гілкою. Тематичні гілки використовуються для розробки нових, специфічних функцій майбутньої версії проекту. Основною особливістю даних гілок є те, що вони існують доки триває розробка певної функції, а потім після злиття з гілкою develop вони видаляються.
Гілки версій (release)
Гілки версій призначені для підготовки нової версії проекту. Вони дозволяють за мить до завершення роботи над поточною версією визначати місця підключення до головної гілки, а також надають можливість виконувати незначні правки й готувати дані про версію (номер, дата створення тощо). Виконання такого виду операцій на гілці версії дозволяє значно спростити розгалуження головної гілки develop. Відгалуження гілки версії від робочої гілки develop відбуватиметься за умови отримання бажаного стану нової версії проекту на робочій гілці.
Гілки помилок (hotfix)
Гілки помилок функціонально дуже схожі на гілки версій, оскільки також використовуються для підготовки нової версії проекту, але створюються вони спонтанно. Утворюються гілки помилок у разі потреби виконання миттєвих дій задля усунення небажаних станів робочої версії проекту. Тобто, якщо потрібно виправити критичну помилку у робочій версії проекту, то створюється відгалуження гілки помилок від головної гілки master, на тому її етапі, що відповідає робочій версії проекту в цей момент часу. Суттю використання таких гілок є те, що у разі виникнення непередбачуваних помилок робота членів команди на головній гілці develop не буде зупинена, а помилки будуть швидко знайдені і виправлені.
Примітки
- . Архів оригіналу за 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). . Інформаційні технології і засоби навчання. 39 (1). Архів оригіналу за 1 грудня 2017. Процитовано 28 листопада 2017.
Посилання
- [1] [ 6 червня 2022 у Wayback Machine.]
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття потребує додаткових для поліпшення її . (січень 2018) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina Gilka znachennya Gilka angl branch v sistemah keruvannya versiyami napryam rozrobki yakij isnuye nezalezhno vid inshogo napryamu ale maye z nim spilnu istoriyu Gilka pochinayetsya yak kopiya chogos i ruhayuchis z ciyeyi tochki stvoryuye svoyu vlasnu istoriyu Sistemi keruvannya versiyami taki yak Git Subversion Mercurial ta in nadayut instrumenti dlya stvorennya ta zlittya gilok fiksaciyi zmin u nih ta pereklyuchennya mizh gilkami Vikoristannya gilokMajzhe kozhna sistema kontrolyu versij SKV pidtrimuye gilki angl branches v pevnij miri V bagatoh sistemah kontrolyu versij galuzhennya ce dorogij proces yakij vimagaye stvorennya kopiyi kodu sho mozhe zajnyati bagato chasu dlya velikih proektiv Napriklad v Subversion gilka ce kopiya katalogu fajlovoyi sistemi Prote gilka v Git ce prosto legkij vkazivnik na odin z komitiv Tut gilki ye nadzvichajno legkimi operaciyi galuzhennya ta perehodu mizh nimi vidbuvayutsya majzhe mittyevo Isnuye kilka pidhodiv do vikoristannya sistemi Git sered yakih najposhirenishoyu ye tak zvana koncepciya gitflow centralnij repozitarij pracyuye z dvoma paralelnimi mizh soboyu gilkami master i develop Osnovni gilki master Bagato rozrobnikiv pidtrimuyut takij proces koli osnovna gilka mistit stabilnu versiyu kodu najimovirnishe togo sho buv chi bude zaprovadzhenij u virobnictvo Chasto SKV mayut specialni nazvi dlya osnovnoyi gilki Napriklad master v Git abo trunk v SVN Robochi gilki develop Paralelno do osnovnoyi gilki isnuye she robocha gilka angl release branch Vona vikoristovuyutsya dlya rozrobki novoyi versiyi programnogo zabezpechennya ta testuvannya jogo stabilnosti Koli komanda rozrobnikiv virishuye sho nova versiya programi gotova do vipusku zmini z robochoyi gilki perenosyat u osnovnu master i poznachayutsya nomerom versiyi Robochi gilki zazvichaj zberigayutsya protyagom trivalogo chasu Dodatkovi gilki Poryad z osnovnimi gilkami master i develop mozhlive isnuvannya takozh dodatkovih gilok yaki zabezpechuyut paralelnu rozrobku proektu dekilkoma chlenami komandi polegshuyut vidslidkovuvannya pomilok a takozh spriyayut shvidkomu usunennyu potochnih problem yaki vinikatimut u procesi rozrobki proektu U procesi rozrobki skladnogo proektu mozhut vikoristovuvatisya rizni vidi dodatkovih gilok zokrema Tematichni gilki feature Gilki versij release Gilki pomilok hotfix Tematichni gilki feature Tematichni gilki ye vidgaluzhennyam vid robochoyi gilki develop i pislya zavershennya rozrobki viznachenogo funkcionalu na nih povinni buti zliti same z robochoyu gilkoyu Tematichni gilki vikoristovuyutsya dlya rozrobki novih specifichnih funkcij majbutnoyi versiyi proektu Osnovnoyu osoblivistyu danih gilok ye te sho voni isnuyut doki trivaye rozrobka pevnoyi funkciyi a potim pislya zlittya z gilkoyu develop voni vidalyayutsya Gilki versij release Gilki versij priznacheni dlya pidgotovki novoyi versiyi proektu Voni dozvolyayut za mit do zavershennya roboti nad potochnoyu versiyeyu viznachati miscya pidklyuchennya do golovnoyi gilki a takozh nadayut mozhlivist vikonuvati neznachni pravki j gotuvati dani pro versiyu nomer data stvorennya tosho Vikonannya takogo vidu operacij na gilci versiyi dozvolyaye znachno sprostiti rozgaluzhennya golovnoyi gilki develop Vidgaluzhennya gilki versiyi vid robochoyi gilki develop vidbuvatimetsya za umovi otrimannya bazhanogo stanu novoyi versiyi proektu na robochij gilci Gilki pomilok hotfix Gilki pomilok funkcionalno duzhe shozhi na gilki versij oskilki takozh vikoristovuyutsya dlya pidgotovki novoyi versiyi proektu ale stvoryuyutsya voni spontanno Utvoryuyutsya gilki pomilok u razi potrebi vikonannya mittyevih dij zadlya usunennya nebazhanih staniv robochoyi versiyi proektu Tobto yaksho potribno vipraviti kritichnu pomilku u robochij versiyi proektu to stvoryuyetsya vidgaluzhennya gilki pomilok vid golovnoyi gilki master na tomu yiyi etapi sho vidpovidaye robochij versiyi proektu v cej moment chasu Suttyu vikoristannya takih gilok ye te sho u razi viniknennya neperedbachuvanih pomilok robota chleniv komandi na golovnij gilci develop ne bude zupinena a pomilki budut shvidko znajdeni i vipravleni Primitki Arhiv originalu za 6 chervnya 2022 Procitovano 13 chervnya 2022 DzherelaBen Collins Sussman Brian W Fitzpatrick C Michael Pilato http svnbook red bean com nightly ru index html 12 kvitnya 2018 u Wayback Machine Upravlenie versiyami v Subversion Gricenko V G Podolyan O M 2014 Informacijni tehnologiyi i zasobi navchannya 39 1 Arhiv originalu za 1 grudnya 2017 Procitovano 28 listopada 2017 Posilannya 1 6 chervnya 2022 u Wayback Machine Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2018