What is a pull request (PR)?
Answer
A pull request (PR) — called a merge request (MR) in GitLab — is a feature of hosted Git platforms (GitHub, GitLab, Bitbucket) that provides a structured way to propose, review, and merge changes from one branch to another. It is NOT a Git feature — it's a collaboration workflow on top of Git. A PR notifies team members that you've pushed changes and requests them to review and "pull" (merge) your branch. PR features: (1) Code review: reviewers can comment on specific lines, request changes, or approve; (2) Discussion: threaded conversations about the changes; (3) Diff view: easy to see all changes; (4) CI/CD integration: automated tests run on the PR; (5) Merge options: merge commit, squash merge, or rebase merge; (6) Branch protection: require approvals before merging. Good PR practices: small, focused changes; descriptive title and description; link related issues; respond to feedback promptly; don't ignore review comments. Draft PRs signal "work in progress" and request early feedback without being ready to merge.