🧱 Суть
Pull Request (PR) – это запрос на добавление изменений из одной ветки в другую.
Обычно направление выглядит так:
feature/login → main📦 Зачем нужен PR
PR – это не просто способ объединить ветки.
Он создаёт точку контроля перед попаданием кода в основную ветку.
Через PR можно:
- посмотреть изменения (
diff); - провести code review;
- запустить CI;
- обсудить код;
- исправить замечания;
- только потом сделать merge.
Типичный процесс
feature/kanban
↓
создание Pull Request
↓
CI проверяет код
↓
Code Review
↓
Merge
↓
main обновлён💻 Как создать PR
После завершения работы в своей ветке:
Проверить изменения:
git statusСоздать коммит:
git add .
git commit -m "feat: add kanban drag and drop"Отправить ветку:
git push -u origin feature/kanbanПосле этого GitHub предложит создать Pull Request.
Что происходит внутри PR
1. GitHub показывает изменения
Можно увидеть:
- какие файлы изменились;
- какие строки добавлены;
- какие удалены.
Это называется:
diff2. Запускается CI
Автоматические проверки могут выполнить:
npm ci
npm run lint
npm run test
npm run buildЕсли проверки не прошли:
CI ❌Merge обычно запрещают.
3. Code Review
Другие разработчики могут:
- оставить комментарии;
- предложить изменения;
- одобрить PR.
4. Merge
После успешной проверки:
feature → mainИзменения попадают в основную ветку.
PR ≠ Merge
Это частая ошибка понимания.
| Этап | Что происходит |
|---|---|
| PR | «Посмотрите мои изменения» |
| CI | «Проверьте, что код работает» |
| Review | «Дайте обратную связь» |
| Merge | «Добавьте изменения в main» |
| PR можно: |
- создать;
- обновлять новыми коммитами;
- закрыть без merge.
Когда не стоит создавать PR
Не стоит открывать PR, если:
- код не собирается;
- изменения сломаны;
- это просто эксперимент;
- фича ещё находится в хаотичной разработке.
Но не нужно ждать идеального состояния.
PR – это рабочий этап:
«Я закончил основную часть задачи и готов показать результат».
Правильный порядок работы
main
│
├── feature/login
│ │
│ ├── commits
│ │
│ └── push
│
└── Pull Request
↓
Merge🎯 Вывод
- PR – это механизм безопасного попадания кода в
main. - PR показывает изменения и запускает проверки.
- CI обычно работает именно внутри PR.
- Merge выполняется только после успешной проверки.
Главное правило:
Не отправляй изменения напрямую в main.
Работай через ветку → PR → CI → Merge.