Названия ветвей и комментарии к коммитам в Git: лучшие практики

CyberSec RuTOR

Кибербезопасность
Команда форума
Модератор
Сообщения
1.025
Реакции
1.533
Git – самая популярная система контроля версий: большинство разработчиков используют ее и для личных, и для командных проектов. При этом многие разработчики, особенно начинающие, небрежно подходят к выбору названий ветвей и оформлению коммитов. Это оставляет не лучшее впечатление об их профессионализме, но что еще хуже – затрудняет командную работу и усложняет поддержание кодовой базы. В этой статье мы разберем лучшие практики для работы с ветвями и коммитами.

⚙️ Названия ветвей и комментарии к коммитам в Git: лучшие практики

Названия ветвей: рекомендации сообщества​

Одна из самых важных практик при работе в системе версий – использование понятных и описательных имен для веток, коммитов, запросов на вытягивание и так далее. Описательныe названия:
1.Помогают отслеживать историю изменений кода.
2.Упрощают документирование процесса.
3.Повышают эффективность работы.

Соблюдение соглашений, созданных сообществом, носит рекомендательный характер – никто не принуждает разработчиков соблюдать эти правила. Однако если вы попробуете следовать этим рекомендациям, то быстро заметите, что они действительно упрощают и ускоряют работу.




Итак, оптимальное название ветви соответствует этим критериям:
1.Дает четкое и ясное представление о том, что именно делает содержащийся в ветви код.
2.Написано в нижнем регистре. Верхний регистр и тем более капслок, как правило, не используют. Есть только одно исключение – когда в префиксе необходимо использовать номера задач из таск-менеджеров (об этом ниже).
3.Состоит только из букв и цифр (a-z, 0-9), не содержит специальных символов.
4.При необходимости разделено дефисами -. Если название состоит из нескольких слов, имеет смысл разделить их дефисами. Не следует использовать PascalCase, camelCase или snake_case.
5.Не заканчивается дефисом. Поскольку дефис используется для разделения слов, нет смысла использовать его в конце названия.
6. Не содержит повторяющихся дефисов --. Если нужно начать название с типа ветки (feature, bugfix, hotfix), используйте слэш / для отделения типа от основного названия.
Примеры корректных названий:
Код:
feature/new-sidebar
add-new-sidebar
hotfix/interval-query-param-on-get-historical-data
Неправильные названия:
fixSidebar
feature-new-sidebar-
FeatureNewSidebar
feat_add_sidebar

Рекомендации по префиксам​

Иногда назначение ветви сложно определить по одному лишь названию. Чтобы явно указать назначение ветви (исправление бага, новая функциональность, обновление документации и т.п.), принято использовать префиксы.
Вот общепринятые префиксы:
1. feature – указывает на то, что в ветке разрабатывается новая фича, например feature/add-filters говорит о том, что в этой ветке идет работа по добавлению фильтров.
2. release – используется для подготовки новых версий. Например, в ветке release/v3.3.1-beta делают последние правки и проверки перед выпуском новой версии: исправляют оставшиеся баги, обновляют документацию, меняют номер версии в коде и т.д. После того как подготовка завершена, содержимое ветки release сливают (merge) обратно в основную ветку. В результате в репозитории появляется новая версия кода со всеми изменениями из ветки release. Ее и выпускают как новый релиз.
3. bugfix – применяется для исправления ошибок в коде. Обычно такая ветка создается при наличии конкретной проблемы (issue) с описанием найденного бага. Например, bugfix/sign-in-flow означает исправление ошибки в процессе входа в систему авторизации.
4. hotfix – похож на bugfix, с одним важным отличием: hotfix используется для быстрого исправления критических багов, которые уже попали в продакшен. Например, hotfix/cors-error означает исправление срочной ошибки CORS, связанной с междоменными запросами, которая сломала работу приложения в продакшене.
5. docs – обозначает ветку, предназначенную для написания документации к проекту. Например, docs/quick-start – это ветка для написания инструкции по быстрому запуску проекта.​

Использование номеров задач в префиксах​

Многие команды используют системы трекинга задач – Jira, Trello, ClickUp и т.д. В этих таск-менеджерах каждая задача получает уникальный номер, например T-142. Чтобы увязать работу в Git с этими задачами, в имени ветки указывают ее номер в неизменном виде. Например:
feature/T-531-add-sidebar – ветка для новой фичи, описанной в задаче T-531
docs/T-789-update-readme – обновление документации по задаче T-789
hotfix/T-142-security-path – исправление уязвимости в продакшене из задачи T-142
Такой подход позволяет синхронизировать работу в Git с общим планированием и отслеживанием прогресса всей команды в системе задач: менеджер сразу видит, какая ветка соответствует какой задаче из общего плана.

 

Похожие темы

Вокруг слова "ноотропы" много споров потому что в бытовом языке под одним словом смешали разные классы веществ, разные ожидания и разные критерии "сработало". Задача этой лекции - собрать рамку: что мы вообще называем ноотропом в классическом смысле, почему вокруг термина столько мифов, и как...
Ответы
0
Просмотры
360
Описание: Цель данного курса — показать, что Git можно и нужно использовать не только в команде, но и для одиночной разработки. Типовые задачи, которые вы научитесь решать на курсе: Создание коммита Отправка изменений на удалённый репозиторий Получение изменений с удалённого репозитория...
Ответы
0
Просмотры
636
Запрос "как определить чистоту" или "как отличить одно от другого" обычно возникает из правильного мотива - снизить риск передозировки, отравлений и несчастных случаев. Но здесь есть жёсткая реальность: в домашних условиях нельзя надёжно установить, что именно находится в порошке, таблетке или...
Ответы
4
Просмотры
HackTheBox и Kali Linux — повысьте уровень кибербезопасности, этичного хакинга и тестирования на проникновение, готовясь к экзамену на сертифицированного хакера Чему вы научитесь Hack The Box — это масштабная онлайн-платформа для обучения кибербезопасности, которая позволяет частным лицам...
Ответы
8
Просмотры
В условиях усиливающейся интернет-цензуры важно иметь надёжный инструмент для обхода блокировок и защиты данных. Один из лучших способов — установка Shadowsocks или VLESS на VPS/VDS, что позволит создать личный VPN-сервер, устойчивый к современным ограничениям. Мы применим «китайский метод»...
Ответы
44
Просмотры
Назад
Сверху Снизу