Что такое pull request (PR) в Git?

«Что такое pull request (PR) в Git?» — вопрос из категории Инструменты тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Pull Request (PR) или Merge Request (MR) — это механизм в системах контроля версий (GitHub, GitLab, Bitbucket), который позволяет предложить изменения из одной ветки репозитория в другую и организовать их обсуждение (code review) перед слиянием (merge).

Типичный рабочий процесс с PR:

  1. Создание ветки: Разработчик создаёт feature-ветку от main/master.
    git checkout -b feature/new-authentication
  2. Внесение изменений: Делаются коммиты с новой функциональностью или исправлениями.
    git add .
    git commit -m "Add OAuth2 login flow"
    git push origin feature/new-authentication
  3. Создание PR: Через веб-интерфейс создаётся запрос на слияние ветки feature/new-authentication в main. Добавляется описание изменений.
  4. Ревью кода: Члены команды проверяют код, оставляют комментарии, запрашивают правки.
  5. Слияние: После одобрения и прохождения CI-проверок изменения мержатся в целевую ветку. Ветка-источник обычно удаляется.

Цели PR:

  • Контроль качества: Обнаружение ошибок и улучшение кода до его попадания в основную ветку.
  • Обмен знаниями: Команда знакомится с новыми изменениями.
  • Документирование: История обсуждений в PR служит документацией к принятым решениям.