Skip to main content

Creating a pull request

Create a pull request to propose changes to the code in a repository.

Who can use this feature?

Anyone with read access to a repository can create a pull request.

If you want to create a new branch for your pull request but don't have write permissions to the repository, you can fork the repository first. See Creating a pull request from a fork and Forks.

When you create your pull request, you can specify which branch you want to merge your changes into. Pull requests can only be opened between two different branches.

Note

To open a pull request in a public repository, you must have write access to the head or the source branch or, for organization-owned repositories, you must be a member of the organization that owns the repository to open a pull request.

You can link a pull request to an issue to show that a fix is in progress and automatically close the issue when the pull request is merged. For more information, see Linking a pull request to an issue.

Creating the pull request

  1. On GitHub, navigate to the main page of the repository.

  2. In the "Branch" menu, choose the branch that contains your commits.

    Screenshot of the branch dropdown menu on the main page of a repository.

  3. Above the list of files, in the yellow banner, click Compare & pull request to create a pull request for the associated branch.

    Screenshot of the banner above the list of files.

  4. Use the base branch dropdown menu to select the branch where you want to merge your changes. Then, use the compare branch dropdown menu to choose the topic branch where you made your changes.

  5. Type a title and description for your pull request.

  6. To create a pull request that is ready for review, click Create Pull Request. To create a draft pull request, use the drop-down and select Create Draft Pull Request, then click Draft Pull Request. If you are the member of an organization, you may need to request access to draft pull requests from an organization owner. See Pull requests.

Tip

After you create a pull request, you can ask a specific person to review your proposed changes. See Requesting a pull request review.

After your pull request has been reviewed, it can be merged into the repository. See Merging a pull request.

Note

To learn more about GitHub CLI, see About GitHub CLI.

To create a pull request, use the gh pr create subcommand.

gh pr create

To assign a pull request to an individual, use the --assignee or -a flags. You can use @me to self-assign the pull request.

gh pr create --assignee "@octocat"

To specify the branch into which you want the pull request merged, use the --base or -B flags. To specify the branch that contains commits for your pull request, use the --head or -H flags.

gh pr create --base my-base-branch --head my-changed-branch

To include a title and body for the new pull request, use the --title and --body flags.