- Никогда не используйте merge, только rebase для сохранения линейной истории коммитов
- Осторожно с изменениями в чужих ветках. Придется больно и мучительно делать rebase. Лучше не трогайте чужие ветки
- Перепроверьте историю коммитов перед созданием пулл реквеста
- Каждый коммит должен быть осознанным и быть одним логическим элементом
- Каждый пулл реквест должен быть осознанным и быть одним логическим элементом
- Перепроверьте, что вы в правильной ветке, никогда не коммитьте напрямую в main
Коммиты добавляются в соответствии с conventional commits. Т.е
<type>(<scope>): <body>.
Поле <type> должно принимать одно из этих значений:
featдля добавления новой функциональностиfixдля исправления бага в программеrefactorдля рефакторинга кода, например, переименования переменнойtestдля добавления тестов, их рефакторингаstructдля изменений связанных с изменением структуры проекта (НО НЕ КОДА), например изменение расположения папокciдля различных задач ci/cd
Поле <scope> опционально и показывает к какому модулю, классу, методу функции и т.п применены изменения.
Поле <body> содержит суть изменений в повелительном наклонении настоящего времени на английском языке без точки в
конце, первое слово - глагол с большой буквы. Текст сообщения должен включать мотивацию к изменению и контрасты с
предыдущим поведением.
Примеры:
- Хорошо: "Add module for future BST implementations"
- Плохо: "Added module for future BST implementations."
- Плохо: "Adds module".
- Очень плохо: "new bug."
Ветка под одно (большое) логическое изменение. Формат для веток <type>/<short-body>. Тип аналогичен тому же в
коммитах,
а <short-body> представляет собой короткое описание назначения ветки в kebab-case стиле.
Примеры хороших названий:
feat/add-avl-treeci/add-klint
После одобрения пулл реквеста, ветка удаляется. А новая функциональность разрабатывается в новой ветке.
Пулл реквесты оформляются на любом удобном языке. Но должны четко отвечать на 3 вопроса:
- Что?
- Зачем?
- Почему?
Ответ на вопрос что должен содержаться в заголовке пулл реквеста. На остальные вопросы ответ должен быть в описании.
НЕ ТЫКАТЬ НА ЗЕЛЕНУЮ КНОПОЧКУ REBASE AND MERGE БЕЗ РЕВЬЮ
Запрещено сливать свой пулл реквест в ветку самостоятельно.
Если тыкаете на зеленую кнопочку, то убедитесь, что на ней написано REBASE AND MERGE
Ревью происходит в виде комметариев к пулл реквестам, обсуждения в чате команды и личном общении.