Короткий ответ
Pull request — это механизм, с помощью которого разработчик предлагает влить изменения из своей ветки или форка в основную ветку репозитория; изменения проходят обсуждение и код-ревью перед слиянием. В GitLab аналогичный механизм называют merge request. Вокруг PR строится совместная разработка в команде.
Как это работает подробнее
PR — точка входа изменений в общий код: до слияния другие разработчики просматривают и обсуждают код, после чего изменения попадают в основную ветку.
- Форк. Удалённая серверная копия оригинального репозитория под своим аккаунтом; между форком и оригиналом сохраняется связь, позволяющая вносить вклад обратно.
- Типовой сценарий. Репозиторий клонируется локально, создаётся feature-ветка, вносятся изменения, ветка пушится, после чего открывается pull request.
- Ревью и слияние. Другие разработчики просматривают изменения и обсуждают их, затем PR вливается в основную ветку
main. - Workflow. Git Flow использует ветки для фич, релизов и хотфиксов, GitHub Flow прост: ветка, PR, ревью, merge в main, GitLab Flow привязывается к CI/CD, Trunk-Based Development — разработка в одной основной ветке.
- Практики команд. Соглашения об именовании веток, частые коммиты с осмысленными сообщениями, rebase перед merge и тегирование релизов.
Пример кода
Шаги перед открытием pull request
git checkout -b feature/login
git add .
git commit -m 'Добавить форму входа'
git push origin feature/login
# после пуша ветки в интерфейсе GitHub открывается pull requestЧто использовать на практике
- Маленькие PR. Дроби изменения на небольшие проверяемые пулл-реквесты.