Create a pull request to propose and collaborate on changes to a repository. These changes are proposed in a branch, which ensures that the master branch only contains finished and approved work.

Pull requests can only be opened if there are differences between your branch and the upstream branch. You can specify which branch you'd like to merge your changes into when you create your pull request.

Changing the branch range and destination repository

By default, pull requests are based on the parent repository's default branch.

If the default parent repository isn't correct, you can change both the parent repository and the branch with the drop-down lists. You can also swap your head and base branches with the drop-down lists to establish diffs between reference points. References here must be branch names in your GitHub repository.

Pull Request editing branches

When thinking about branches, remember that the base branch is where changes should be applied, the head branch contains what you would like to be applied.

When you change the base repository, you also change notifications for the pull request. Everyone that can push to the base repository will receive an email notification and see the new pull request in their dashboard the next time they sign in.

When you change any of the information in the branch range, the Commit and Files changed preview areas will update to show your new range.

Tips:

  • Using the compare view, you can set up comparisons across any timeframe.

  • Project maintainers can add a pull request template for a repository. Templates include prompts for information the project's maintainers prefer to see in the body of a pull request.

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. Branch dropdown menu

  3. To the right of the Branch menu, click New pull request. Pull Request button

  4. Use the base branch dropdown menu to select the branch you'd like to merge your changes into, then use the compare branch drop-down menu to choose the topic branch you made your changes in. Drop-down menus for choosing the base and compare branches

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

  6. Click Create pull request. Create pull request button

Tip: When you create your pull request, you can @mention other users or teams to ask them to review your proposed changes.

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

Further reading