🧱 Суть

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 показывает изменения

Можно увидеть:

  • какие файлы изменились;
  • какие строки добавлены;
  • какие удалены.

Это называется:

diff

2. Запускается 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.

🔗 Связано