Read Anthropic’s case study about Graphite Reviewer

Managing pull request approvals and reviews

Sara Verdi
Sara Verdi
Graphite software engineer
Try Graphite


Note

This guide explains this concept in vanilla Git. For Graphite documentation, see our CLI docs.


Pull requests (PRs) play an important role in maintaining the integrity of code in version-controlled projects, and managing PR approvals and reviews efficiently ensures that only high-quality code makes its way into your project. GitHub actually offers several mechanisms to handle this, and when paired with Graphite's PR inbox, you can optimize how you manage the process of approvals and reviews even further.

When a pull request is created, it can be configured to require approvals from one or more reviewers before it can be merged. This ensures that code is double-checked to maintain high standards and catch potential errors early on.

The pull request approval process typically involves:

  • Reviewing the changes made.
  • Running automated tests.
  • Checking the compatibility and impact on the existing codebase.
  • Approving the PR if everything is satisfactory or requesting changes if not.

Using GitHub, you can configure the review settings to require approvals from specific team members or groups, ensuring that the right eyes review every change.

To accept a pull request on GitHub, simply navigate to the pull request page. Go to the "Files changed" tab and click on "Review changes." You can approve, comment, or request changes. If you're satisfied with the changes, click "Approve," and then "Merge pull request" to merge the changes into the main branch.

Screenshot of accepting a pull request on GitHub /

You can enhance your project's security and compliance by adjusting the GitHub pull request review settings. For instance, you can:

  • Require reviews from code owners.
  • Disallow approvals from the PR author (self-approval).
  • Block merges until specified automated checks pass.

These settings help enforce that all changes meet your project's required standards before being merged.

Graphite's PR inbox enhances the review process by organizing pull requests into sections such as "Needs your review," "Approved," and "Waiting for review." You can customize these sections and even share configurations with teammates.

Graphite PR Inbox showing different sections for PR organization

  • Pull request was received after approval: In some teams, developers might self-approve their pull requests due to small changes or urgent fixes. However, this practice can be risky. Graphite Protections offers fine-grained approval controls at the individual PR level, offering team's more granular control of the approval process to prevent code from being merged in without proper review.

  • Pull request has been self-approved: In some teams, developers might self-approve their pull requests due to small changes or urgent fixes. However, this practice can be risky. Graphite's PR inbox can be configured to flag such PRs and bring them to the team's attention, ensuring they don't go unnoticed.

  • GitHub merge pull request without approval: This can be disabled in the repository settings to ensure every change is reviewed.

  • GitHub approve pull request without merge: Reviewers can approve a PR without merging it to indicate acceptance while waiting for others to review or certain conditions to be met.

Managing pull request approvals and reviews with GitHub and Graphite ensures a secure and efficient review process. By setting up detailed PR review settings and utilizing Graphite’s organizational tools, your team can maintain high code quality and project standards.

Git inspired
Graphite's CLI and VS Code extension make working with Git effortless.
Learn more

Built for the world's fastest engineering teams, now available for everyone