Ва ўсім свеце Git з'яўляецца найбольш часта выкарыстоўванай сістэмай кантролю версій (VCS) для маніторынгу і кіравання праектамі. Ён таксама прапануе рассеянае і сумеснае працоўнае асяроддзе, заахвочваючы супрацоўніцтва.
Разгалінаванне з'яўляецца адной з найбольш істотных функцый Git, паколькі яно дазваляе вам стварыць асобны канал для пэўнага набору змяненняў, такіх як выпраўленне памылак, распрацоўка новых функцый або эксперыментаванне, не закранаючы галоўную галіну.
У параўнанні з іншымі аперацыямі Git, разгалінаванне - даволі просты метад. Гэта дазваляе адхіляцца ад зыходнай базы кода.
Разгалінаванне дазваляе вам хутчэй супрацоўнічаць з іншымі распрацоўшчыкамі і забяспечвае вялікую свабоду ў працоўным працэсе. Гэта таксама дазваляе працаваць над новай функцыяй, не ўплываючы на астатнюю кодавую базу.
Механізм галінавання Git дазваляе ствараць новыя галіны ўнутры праекта.
Затым гэтыя дадатковыя галіны могуць выкарыстоўвацца для тэставання змяненняў кода без умяшання ў асноўны код праекта. Калі карэкціроўкі прайшлі паспяхова, галіну можна аб'яднаць назад у галоўную галіну.
Аднак бываюць выпадкі, калі вам трэба выдаліць галінку Git лакальна, але не выдалена. Чытайце далей, каб даведацца, як гэта зрабіць.
Што такое Git Branch?
Git можа адсочваць некалькі радкоў працы дзякуючы разгалінаванням. Гэта дазваляе працаваць над некалькімі версіямі вашага праекта адначасова.
Многія праекты будуць падтрымліваць стабільную галоўную галіну, адначасова дадаючы новыя функцыі або выпраўляючы памылкі ў галінах распрацоўкі або тэсціравання.
Калі кіраўнікі праектаў абсалютна ўпэўнены, што змены, зробленыя ў галінцы Dev, адпавядаюць крытэрыям, яны могуць аб'яднаць гэтыя мадыфікацыі ў галоўную галінку. Для некаторых буйных праектаў гэты цыкл часта паўтараецца бясконца.
Праца з галінамі распрацоўкі Git - выдатны падыход да працы з нашай праграмай, адначасова адсочваючы яе версіі. Галіна распрацоўкі, увогуле, - гэта раскол у стане кода, які ўсталёўвае новы шлях для яго прасоўвання.
Ён можа працаваць паралельна з іншымі галінамі Git, якія вы можаце ствараць. Можна дадаваць новыя функцыі ў наш код арганізавана і дакладна.
Чаму і калі яго трэба выдаляць?
Звычайная практыка тэхнічнага абслугоўвання - выдаленне галін Git, калі яны больш не выкарыстоўваюцца, хоць гэта не заўсёды з'яўляецца універсальным або зразумелым.
Чаму вы павінны выдаліць састарэлыя галіны Git са свайго рэпазітара? Для гэтага ёсць дзве асноўныя прычыны:
- Яны непатрэбныя. Большасць аддзяленняў, асабліва тых, якія звязаны з запытам на выцягванне, які быў нарэшце зацверджаны, не функцыянуюць.
- Яны з'яўляюцца крыніцай блытаніны. Яны не дадаюць істотных тэхналагічных выдаткаў, але робяць працу са спісамі галін у рэпазіторыі больш складанай для людзей.
Галіны можна бяспечна выдаляць, не баючыся страціць якія-небудзь змены.
Разгледзім наступны сцэнар: галінка patch-1 будзе аб'яднана з галоўнай галінкай праз запыт на выцягванне. Перад аб'яднаннем, master і patch-1, кожны паказвае на розныя версіі ў гісторыі фіксацый git.
Пасля аб'яднання (калі дадаецца новае зліццё) master і patch-1 спасылаюцца на новае зліццё. На гэтым запыт на выцягванне завершаны, і ўсе будучыя штуршкі павінны адпраўляцца ў master, а не ў патч-1.
Лакальнае супраць аддаленага аддзялення ў Git
Аддаленае адгалінаванне - яно знаходзіцца ў асобнай сістэме, як правіла, на серверы, да якога распрацоўшчыкі могуць атрымаць доступ. Калі аддаленая галіна выдаляецца, яна выдаляецца для ўсіх карыстальнікаў.
Лакальная галіна – у лакальнай сістэме захоўваецца лакальная галіна. Выдаленне лакальнай галіны не ўплывае на аддаленую галіну.
Як выдаліць галіны лакальна?
Гэта не дазволіць вам выдаліць галіну, над якой вы зараз працуеце, таму пераканайцеся, што вы праверылі галінку, якую НЕ выдаляеце. Давайце пачнем з высвятлення таго, як выдаліць лакальную галіну.
- Для пачатку запусціце каманду (git branch -a), каб убачыць усе галіны (як лакальныя, так і аддаленыя).
- Затым, выкарыстоўваючы каманду (git branch -d), а затым назву галіны, якую вы хочаце выдаліць, вы можаце выдаліць яе.
Калі вы паспрабуеце выдаліць галінку з неаб'яднанымі мадыфікацыямі, з'явіцца наступнае паведамленне пра памылку:
Як паказвае паведамленне вышэй, каб прымусова выдаліць галінку, выкарыстоўвайце параметр -D, які з'яўляецца ярлыком для —delete —force.
Майце на ўвазе, што выдаленне неаб'яднанай галіны прывядзе да страты ўсіх мадыфікацый гэтай галіны.
Калі вы паспрабуеце выдаліць бягучую галінку, вы ўбачыце наступнае паведамленне:
Вы не можаце выдаліць галіну, на якой вы зараз знаходзіцеся. Спачатку пераключыцеся на іншую галіну, потым выдаліце назву галіны:
Адваротны бок выдалення галіны
Магчымым недахопам выдалення галін з'яўляецца тое, што любыя сувязі з месцазнаходжаннем галіны будуць разарваны (у GitHub і г.д.).
У мяне амаль няма пастаянных спасылак на неасноўныя галіны, і калі б я захацеў падключыцца да якой-небудзь працы ў пэўнай галіны, я, хутчэй за ўсё, зрабіў бы гэта пасля таго, як яна была ператворана ў запыт на выцягванне (у такім выпадку я спасылаўся б на Pull-Request).
Высновы
Веданне таго, як выкарыстоўваць галіны распрацоўкі, становіцца крытычна важным для сістэматычнага стварэння вашага прыкладання. Паклапаціцеся пра структураванне кода ў розных галінах.
Калі ў любы момант вы не ўпэўненыя ў складанай аперацыі, заўсёды добра прачытаць Афіцыйная дакументацыя git на галінах.
Пакінуць каментар