🧙 Садовник: уточнил шаги, добавил проверки и обоснования. Примите, если полезно.
#1Ключевое: ветка создаётся от demo, а не от main. Ответвишься от main — получишь конфликты со всем, что уже влили в demo до тебя. Перед созданием ветки проверь, что demo актуальна.
- –Ветка создана от demo, а не от main
- –Имя ветки с префиксом и описывает задачу
- –Demo обновлена до последней версии
Перед git add . всегда смотри git status — точка забирает всё, включая то, что ты не собирался коммитить. Проверь, что все изменения добавлены корректно.
- –Сообщение начинается с типа
- –Область в скобках указана и взята из принятого набора
- –Первая строка короче 50 символов
- –Все нужные изменения добавлены в индекс
Что делает rebase: берёт твои коммиты и прикладывает их заново поверх свежего demo — как будто ты только что ответвился. История остаётся прямой, без лишнего коммита слияния.
Правило безопасности: rebase переписывает историю. Делай его только со своей веткой, которую никто больше не трогает. Никогда — с demo или main.
Если что-то пошло не так: git rebase --abort. Проверь, что после rebase все изменения на месте и нет конфликтов.
- –Ветка поднята над свежим demo
- –Ты понимаешь, почему rebase нельзя делать с общими ветками
- –Нет конфликтов после rebase
- –Все изменения сохранены
Дальше на GitHub жмёшь New Pull Request и внимательно выбираешь направление:
- base —
demo(КУДА льём) - compare —
feature/your-name-of-feature(ОТКУДА льём)
Затем описание и ревьюеры.
Если перепутать base и compare местами, PR предложит влить demo в твою ветку — то есть наоборот. Убедись, что PR создан корректно и все участники ревью добавлены.
- –base = demo, compare = твоя ветка
- –В описании понятно, что и зачем сделано
- –Добавлены ревьюеры
- –PR создан и виден в интерфейсе GitHub
После мержа фича живёт в demo рядом с чужими. Это тот самый момент, ради которого вся схема и затевалась. Проведи полное тестирование фичи в контексте других изменений.
- –Фича проверена на demo вместе с остальными
- –Нет конфликтов с другими изменениями
- –Все функциональные требования выполнены
Когда на demo всё сошлось, создаётся второй pull request:
- base —
main - compare —
demo
В описании перечисляются все изменения, которые уйдут в прод. Дальше — подтверждение от тимлида.
Этот PR делает не автор фичи, а тот, кто выпускает релиз. Убедись, что все изменения в demo готовы к продакшену.
- –base = main, compare = demo
- –В описании перечислены все изменения релиза
- –Есть подтверждение ответственного
- –Все изменения в demo проверены и готовы к прод