Паняцце галінавання ў Git
Самым карысным інструментам у Git з'яўляюцца галiны. Яны дазваляюць весці паралельную працу над праектам, пераключаючыся па меры неабходнасці паміж галінамі, вырашаючы розныя задачы. Давайце разгледзім на прыкладзе, у чым суть галін і як іх выкарыстоўваюць на практыцы.
Такім чынам, як вы ўжо ведаеце, па змаўчанні ў нас
ёсць адна галіна - master.
Звычайна гэтую галіну лічаць асноўнай.
Можна, аднак, ствараць і дадатковыя
галiны, як правіла для вырашэння прыватных
задач праекта.
Пры стварэнні новай галіны ў ёй будуць копіі файлаў нашага праекта. Мы будзем пісаць у іх код, а затым, калі задача будзе выканана, мы аб'яднаем код новай галіны з нашай асноўнай галіной. Такім чынам, можна паралельна весці працу над некалькімі праблемамі, так, што яны не будуць перашкаджаць адна адной. І, па меры гатоўсці адпраўляць вырашаныя праблемы на продакшн (гэта значыць карыстальнікам для выкарыстання).
Пры гэтым, пры пераключэнні паміж галiнамі, Git будзе сам мяняць файлы ў тэчцы з вашым праектам. Гэта значыць адны файлы будуць знікаць, а паказвацца іншыя. Таксама будуць мяняцца тэксты файлаў, калі яны адрозніваюцца ад галіны да галіны. Гэта важнае месца, але пачаткоўцы яго не заўсёды разумеюць. Таму яшчэ раз: калі вы ў тэрмінале будзеце мяняць галіну, то вашы файлы і тэксты ў іх будуць мяняцца ў адпаведнасці з галіной. Фізічна! Самі! Прама ў адкрытым рэдактары тэкст вашага файла будзе мяняцца на іншы! Гэта вельмі крута і зручна.
Паглядзім на прыкладзе, як гэта робіцца на практыцы.
Хай у вас ёсць нейкі праект.
У галіне master знаходзіцца
яго баявая бягучая версія, якой
карыстаюцца карыстальнікі.
Хай вы распрацоўваеце новую
фічу. Для гэтага вы стварылі новую
галiну feature. У ёй вы пішаце
код, рэалізуючы патрэбную вам задачу.
Раптам тэлефон званiць і ваш начальнік
кажа, што на праекце знойдзены
сур'ёзны баг і яго термінова трэба
выправіць.
Для гэтага вы ствараеце галiну fix,
капіруючы ў яе ўвесь код праекта
з галіны master. Вы пішаце
код, які выпраўляе баг, а затым
ўліваеце гэты код у асноўную
галiну master і адпраўляеце
гэты код на продакшн.
Затым пераключаецеся на галiну feature
і спакойна працягваеце працу
над вашай фічай. Калі яна будзе
закончана, вы ўліваеце яе
ў асноўную галiну master.
У наступных уроках мы працягнем знаёміцца з галінамі на практыцы.