About comparing branches in pull requests
Pull requests display diffs to compare the changes you made in your topic branch against the base branch that you want to merge your changes into.
Note: When creating your pull request, you can change the base branch that you're comparing your changes against. For more information, see "Creating a pull request."
In this article:
You can view proposed changes in a pull request in the Files changed tab.
Rather than viewing the commits themselves, you can view the proposed changes as they'll appear in the files once the pull request is merged. The files appear in alphabetical order within the Files changed tab. Additions to the files appear in green and are prefaced by a +
sign while content that has been removed appears in red and is prefaced by a -
sign.
Diff view options
Tip: If you're having a hard time understanding the context of a change, you can click View in the Files changed tab to view the whole file with the proposed changes.
You have several options for viewing a diff:
- The unified view shows updated and existing content together in a linear view.
- The split view shows old content on one side and new content on the other side.
- The rich diff view shows a preview of how the changes will look once the pull request is merged.
- The source view shows the changes in source without the formatting of the rich diff view.
Three-dot and two-dot Git diff comparisons
Pull requests on GitHub show a three-dot diff, or a comparison between the most recent version of the topic branch and the commit where the topic branch was last synced with the base branch.
If you want to see a comparison between the most recent versions of each branch, or a two-dot diff, you can merge the base branch into your working branch to update the last common ancestor.
Reasons diffs will not display
- You've exceeded the total limit of files or certain file types. For more information, see "Limits for viewing content and diffs in a repository."
- Your file matches a rule in the repository's .gitattributes file to block that file from displaying by default. For more information, see "Customizing how changed files appear on GitHub."