Read Anthropic’s case study about Graphite Reviewer

Managing pull requests with limited access

Sara Verdi
Sara Verdi
Graphite software engineer
Try Graphite

Managing pull requests (PRs) effectively in GitHub can sometimes be challenging, especially when you have limited access rights to the repository. Whether you're contributing to an open source project or working in a large team with strict access controls, understanding how to navigate and contribute via pull requests without full access is crucial. This guide explores how to handle GitHub pull requests without write access, without direct branch access, and even without forking the repository, utilizing Graphite PR inbox to streamline the process.

When you don't have write access to a repository, you can still contribute by submitting pull requests through a fork. Here’s how:

  1. Fork the repository: Create a personal copy of the repository by forking it. This allows you to freely experiment and commit changes without affecting the original project.
  2. Clone your fork: Clone the fork to your local machine and create your feature branch. Make your changes in this branch.
  3. Push changes to your fork: After committing your changes locally, push them to your fork on GitHub.
  4. Create a pull request: From your fork, initiate a pull request to the original repository. Your changes will now be visible to the maintainers of the main repository, who can review and merge them if appropriate.

This process ensures that even without direct write access, you can still contribute to projects and have your changes reviewed.

In scenarios where you cannot push directly to branches in a repository (often due to protected branches), you can use the following workflow:

  1. Fork and clone: Similar to the above, start by forking the repository and then cloning your fork.
  2. Create a new branch: Always work in a branch specific to your changes to keep your contributions organized and manageable.
  3. Submit a pull request via fork: Once your changes are ready and committed, push them to your fork and open a pull request to the main repository.

This method respects the protected branch rules and still allows for a collaborative review process.

Sometimes, you may want to contribute to a repository without the hassle of maintaining a fork. This can be achieved using GitHub's issue comments or by making contributions through patches:

  1. Discuss in issues: Engage with the project maintainers through issue discussions. You can suggest changes and, if agreed upon, they may allow you to contribute directly.
  2. Submit patches via email: If the repository accepts contributions via email, you can send patches created with git format-patch.

Graphite PR inbox is a tool that enhances how you manage pull requests, akin to an email client for PRs. It helps you stay organized and prioritizes pull requests that need your attention. Here’s how you can leverage it:

  1. Configure default repositories: Set up your default repositories in Graphite to automatically track PRs that matter most to you.
  2. Customize your inbox: Use the inbox’s customizable sections to organize PRs based on their status—like "Needs Review", "Approved", or "Merging".
  3. Share configurations: Easily share your inbox setup with teammates to ensure everyone is aligned and can view PRs in a similar manner.

screenshot of PR inbox

Graphite creates a centralized platform where even contributors with limited access can monitor and manage their pull requests efficiently, making collaboration smoother and more productive.

By understanding these strategies and utilizing tools like Graphite PR inbox, contributors with limited permissions can effectively manage and contribute to projects on GitHub. This guide should help you navigate the challenges of limited access in repository management, ensuring that your contributions are still impactful and recognized.

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