# Pull Requests (PRs) A Pull Request (PR) is a [[GitHub]] feature for proposing code changes and requesting review before merging into a target branch. The name comes from the action of "pulling" changes from a feature branch into the main codebase. PRs are central to modern collaborative software development, enabling code review, discussion, and CI/CD integration. [[GitLab]] uses the equivalent term [[Merge Requests (MRs)|Merge Request (MR)]], which emphasizes the merging action rather than the pulling. ## Workflow 1. Create a feature branch from main/develop 2. Make commits with changes 3. Push branch to remote repository 4. Open a Pull Request against target branch 5. Reviewers examine code, leave comments 6. CI/CD pipelines run automated tests 7. Address feedback with additional commits 8. Merge once approved and tests pass ## Key Components - **Title & Description**: Summarize changes and context - **Diff view**: Side-by-side comparison of changes - **Reviewers**: Team members assigned to review - **Comments**: Line-by-line or general discussion - **CI status**: Automated test/build results - **Merge options**: Merge commit, squash, rebase ## Best Practices - Keep PRs small and focused (single concern) - Write clear descriptions explaining "why" - Include tests for new functionality - Respond promptly to review feedback - Use draft PRs for work-in-progress ## References - https://docs.github.com/en/pull-requests ## Related - [[Merge Requests (MRs)]] - [[Git]] - [[GitHub]] - [[GitLab]] - [[DevOps]]