Git предлага гъвкави стратегии за разклоняване, но какво означава това? С прости думи, стратегията за разклоняване е набор от правила, конвенция, която помага на екипи и разработчици – те могат да следват тези правила и конвенции, за да създадат нов клон, неговия поток и т.н.
Неизползването на подходящи конвенции за именуване води до объркване и усложнява екипа за поддръжка на кода. Не можем да пренебрегнем най-добрите практики на Git в конвенциите за именуване на разклонения.
Стратегиите за разклоняване на Git позволяват разделяне на работата. Най-общо можем да разделим клоновете на Git на две категории:редовни и временни клонове.
Редовни клонове на Git
Тези клонове ще бъдат налични във вашето хранилище на постоянни бази. Тяхната конвенция за именуване е проста и ясна.
- Разработка (dev ) е основният клон за развитие. Идеята на клона на разработчиците е да прави промени в него и да ограничи разработчиците да правят каквито и да било промени директно в главния клон. Промените в клона на разработчиците се преглеждат и след тестване се сливат с главния клон.
- Магистър (майстор ) е клонът по подразбиране, наличен в хранилището на Git. Тя трябва да е стабилна през цялото време и да не позволява директна регистрация. Можете да го обедините само след преглед на кода. Всички членове на екипа са отговорни за поддържането на стабилен и актуален капитана.
- QA (QA ), или тестов клон, съдържа целия код за QA тестване и автоматизирано тестване на всички внедрени промени. Преди каквато и да е промяна да отиде в производствената среда, тя трябва да премине QA тестване, за да получи стабилна кодова база.
Временни клонове на Git
Както показва името, това са клоновете, които могат да се създават и изтриват, когато е необходимо. Те могат да бъдат както следва:
- Поправка на програмни грешки
- Гореща корекция
- Функционални клонове
- Експериментални клонове
- WIP клонове
Има много формати и конвенции за именуване, препоръчани от експерти за временни клонове.
Ето един прост работен процес на клонове на Git.
Конвенция за именуване за разклоняване на Git
В тази статия ще прегледам и споделя седемте най-добри правила за именуване, които използвах лично в миналото, за да гарантирам тяхната ефективност.
1. Започнете името на клон с дума на група
Това е една от най-добрите практики. Груповата дума може да бъде всякаква, която да съответства на вашия работен процес.
Харесвам кратки думи като следните:
Бъг – Грешка, която трябва да бъде отстранена скоро
WIP – Работата е в ход и знам, че няма да приключи скоро
Като погледнете името на клона, можете да разберете за какво е този клон на Git и неговата цел.
Разгледайте примерите по-долу:
- bug-logo-alignment-issue – разработчикът се опитва да отстрани проблема с подравняването на логото;
- wip-ioc-container-added – клонът се отнася до задачата за добавяне на IoC контейнер в ход.
2. Използвайте уникален идентификатор в имената на клонове
Можете да използвате идентификатора за проследяване на проблеми в името на вашия клон. Предпочитам този метод, когато работя по коригирането на някои грешки. Например:
wip-8712-add-testing-module
Името показва, че клонът се прилага към задачата за добавяне на тестов модул, проследяващият идентификатор на проблема е 8712 и работата е в ход.
Още едно предимство на използването на външен идентификатор за проследяване в името на клона е възможността за проследяване на напредъка от външна система.
3. Използвайте тире или наклонена черта като разделители
Много разработчици използват наклонена черта като разделител, а много използват тирета. Кой да използвате – зависи от вас и предпочитанията на вашия екип.
Моето мнение е, че тирета правят името по-удобно за четене, така че е подходящ разделител в имената на клонове. Можете да използвате наклонени черти, тирета и долни черти. Въпросът е да бъдете последователни.
Има две основни предимства от използването на разделител в името на клона:
- Повишава четливостта и помага да се избегне объркване;
- Улеснява управлението, особено ако имате работа с много клонове.
Пример 1. Име на клон на Git без разделител:
featureupgradejqueryversionloginmodule
Пример 2. Чрез добавяне на разделител (в този случай това е долно черта), вие правите името на клон на Git четливо:
feature_upgrade_jquery_version_login_module
4. Git Branch с име на автор
Много компании предпочитат да добавят имена на автори в имената на клоновете според формата по-долу:
<author>_<branch-type>_<branch-name>
Напр., rajeev.bera_feature_new-experimental-changes
Този метод позволява лесно проследяване на работата и напредъка на различни разработчици с допълнителни системи.
5. Избягвайте да използвате само числа
Някои разработчици използват само идентификационния номер на проблема в името на клона, което не е полезно за напредъка на работата.
Например има име на клон 9912 – какво трябва да ни каже това магическо число? Това означава само повече объркване и риск от грешки, особено по време на сливане с други клонове на git.
6. Избягвайте едновременното използване на всички конвенции за именуване
Смесването и съпоставянето на всички конвенции за именуване на клонове на Git не е най-добрата практика. Това само добавя объркване и усложнява цялостните процеси.
Екипът трябва да реши конвенциите за именуване, които да използва в работата веднъж, и да се придържа към тях. Последователността е най-критичното нещо.
7. Избягвайте дългите описателни имена за дългоживеещи клони
Основното качество на името на клон е, че то трябва да бъде точно и информативно. Нека отново да разгледаме някои примери:
wip_login_module_which_will_used_in_the_public_website
wip_login_module_which_will_used_in_the_internal_website
Там имената на клоновете са дълги и подробни. Не е необходимо. Вместо това можете да използвате следния вариант:
wip_feature_login_module
Това име е кратко, но обяснява целта на този клон.
Заключение
Моделът на разклоняване на Git е мощен, но трябва да управлявате клоновете правилно и ефективно. Един от необходимите фактори е спазването на едни и същи конвенции от всички екипи, особено – конвенциите за именуване за локалното хранилище.
За да сте сигурни, че вашият екип използва договорените конвенции, наложете стандартите. Един от най-лесните начини е да използвате куките на Git, като куката за предварително записване. Надявам се, че ще ви даде представа за моделите на разклоняване на Git и тяхното именуване.