Ключевые концепции

Пулл реквест

  • На английском: pull request
  • Сокращённо: PR
  • Синоним: merge request (так пулл реквесты называют в GitLab)

Пулл реквест — это способ предложить изменения из одной ветки (или форка) в другую, чаще всего из ветки с задачей в ветку main. Это механизм для совместной работы над кодом и проведения код-ревью перед слиянием изменений в основную ветку.

Представь: в чужом проекте на GitHub находится досадная ошибка. Решение очевидно, но прав на прямое редактирование репозитория нет. Вот как можно поступить:

  • Сделать форк репозитория: создать копию этого репозитория в своём аккаунте GitHub.
  • Внести изменения: в своём форке можно менять код как угодно.
  • Создать пулл реквест: когда правки готовы, отправить пулл реквест в оригинальный репозиторий.

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

На других платформах пулл реквесты могут называться иначе. Например, в GitLab такая механика называется запросом на слияние (merge request).