GitHub: a file diff is not shown in a pull request
GitHub limits the diffs it shows for commits, pull requests and compare views. Some portions of a limited diff may be displayed, but anything exceeding the limit is not shown (GitHub's diff limits, checked October 27, 2026). Files marked as generated are also hidden by default in diffs.
The diff limits
- One file: 400 lines and 20 KB of a file diff are loaded automatically. No single file diff may exceed 20,000 lines that you can load, or 500 KB of raw diff data.
- The whole pull request: no total diff may exceed 20,000 lines that you can load, or 1 MB of raw diff data.
- Files: a single diff holds at most 300 files, and at most 25 renderable files, such as images, PDFs and GeoJSON files (for the image and document views, see an image or document diff not shown).
- Not the API: the REST API has its own limits, 300 files for the whole diff and 3,000 for the list of files (see diff too large (406)).
Other reasons a diff is hidden
- Generated files: a file marked with the
linguist-generatedattribute in.gitattributesis hidden by default in diffs and left out of the repository language statistics (GitHub's customizing how changed files appear). - Whitespace: the Files changed tab can hide whitespace differences. The choice applies only to that pull request, and is remembered the next time you visit it (GitHub's starting a review).
- The file filter: the files can be filtered to show only the ones you want to review, so a filter can leave a file out of the tab.
- Viewed: a file marked as viewed collapses, and is unmarked when it changes again (see viewed mark cleared).
What to do
- A long file: load the rest of its diff on the page, up to 20,000 lines or 500 KB.
- Past the limits: GitHub does not show it; compare the branches with
git diffin a clone, as described in diff too large (406). - A file that should not count as generated: unmark it in
.gitattributes, for examplebootstrap.min.css -linguist-generated; to mark one, usesearch/index.json linguist-generated. The file uses the same matching rules as.gitignore. - Whitespace and filters: check the diff settings and the file filter of the Files changed tab. When a file shows every line changed instead, see line endings.
In IntelliJ IDEA: the file list comes from GitHub, the diff from the fetched commits
How the GitHub support built into IntelliJ IDEA lists and shows the changed files of a pull request, in its source (checked October 31, 2026; IntelliJ IDEA: GHPRChangesServiceImpl.kt, GHPRChangesDataProviderImpl.kt, GithubApiRequests.kt, GitBranchComparisonResult.kt, GitBranchComparisonResultImpl.kt):
- The file list: the files are GitHub's REST list of the pull request's files (
GET /repos/OWNER/REPO/pulls/NUMBER/files), read until there is no next page, so the limit GitHub puts on that list (3,000 files, above) still applies. Each commit's own files come fromGET /repos/OWNER/REPO/commits/SHA. - The diff: before showing diffs, it fetches the base commit and
refs/pull/NUMBER/headinto the local repository when they are not there. Each file's diff compares the whole file at the merge base (found with GitHub's compare) with the whole file at the head commit, both read from git, not the part GitHub shows on the page. - A file without patch text: a file that GitHub's list sends without its
patchis kept as a binary change, still listed and compared from git the same way.
GitHub pull requests in IntelliJ IDEA
Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the changed files GitHub gives, up to 3,000, and opens each one in the IDE diff by reading the whole file at the merge base of the target branch and at the head commit, next to the pull request's reviews, checks and conversations. It does not read .gitattributes, so a file marked as generated is listed and opened like any other. The review inbox, diffs and conversations are free; approving, commenting, resolving and merging are Pro (US$1.50 a month, with a 30-day trial).
GitHub is a trademark of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitHub, Inc. or JetBrains.
More: GitHub merge refused (405, 409) · GitHub review refused (422) · GitHub search 422 "Validation Failed" · "Resource not accessible by personal access token" · 401 "Bad credentials" · "Resource protected by organization SAML enforcement" · "API rate limit exceeded" · GitHub diff 406 "too_large", 3,000 files · GitHub line comment 422 "must be part of the diff" · GitHub branch update refused (422) · GitHub pull request not created (422, 403) · GitHub auto-merge refused · GitHub draft, ready for review or close refused · GitHub conversation not resolved · GitHub checks not shown (check runs 403) · GitHub file contents not read · GitHub compare refused (404, 422) · GitHub comment or reply refused (403 locked, archived) · GitHub merge method not allowed (405) · GitHub branch not found (404, 301) · GitHub Enterprise Server not reached · GitHub review request not shown · GitHub pull request list incomplete · GitHub 404 Not Found, renamed repositories (301, 307) · GitHub line comment outdated or not on the diff · GitHub pull requests not updating, notifications late · GitHub suggested change cannot be applied · GitHub required check stuck at "Expected" · GitHub code owner review required · GitHub merge blocked by unresolved conversations · GitHub merge blocked by unsigned commits · GitHub branch that merges through a merge queue · GitHub merge waiting for an approval of the most recent push · GitHub merge waiting for code scanning results · GitHub merge waiting for code quality results · GitHub merge blocked by a code coverage threshold · GitHub merge blocked by license compliance results · GitHub branch locked or its updates restricted · GitHub branch not deleted after merging · GitHub merge waiting for a team's approval (Required reviewers) · GitHub merge blocked by secret scanning alerts · GitHub stacked pull request not merging · GitHub push blocked by push rules · GitHub merge blocked by commit metadata rules · GitHub force push blocked · GitHub issue not closed by a merged pull request · GitHub pull request not checked out locally · GitHub pull request has merge conflicts · GitHub changes requested and dismissing a review · GitHub co-author not credited for a commit · GitHub dependency review check failed · GitHub Dependabot not rebasing its pull request · GitHub fork not syncing with upstream · GitHub pull request base branch not changing · GitHub pull request not reverting · GitHub pull request template not showing · GitHub pull request labels or assignees not added · GitHub pull request not closing or reopening · GitHub push blocked by push protection · GitHub pull request comment hidden · GitHub pull request blocked until deployments succeed · GitHub team review request replaced by members · GitHub pull request file no longer marked Viewed · GitHub pull request marked merged without being merged · GitHub Copilot review does not count as an approval · GitHub checks not running on a pull request a workflow created · GitHub Update branch button not shown on a pull request · GitHub checks failing on a Dependabot pull request · GitHub checks failing on a pull request from a fork · GitHub checks skipped by [skip ci] in a commit message · GitHub checks gone after the retention period · GitHub code review limits in a public repository · GitHub pull requests turned off or limited in a repository · GitHub checks run on every pull request in a stack · GitHub pull request showing commits already squash merged · GitHub push to a pull request branch from a fork refused · GitHub check cancelled on a pull request · GitHub Rebase and merge not available · GitHub merge commit message not what you expected · GitHub pull request shows every line changed · GitHub API request timed out · GitHub pull request image or document diff not shown · GitHub review request refused (422) · GitHub pull request from Copilot: checks not running, approval not counted · GitHub push refused: GH006 and GH013 on a protected branch · GitHub "At least 1 approving review is required", approvals that do not count · GitHub pull request plugins for IntelliJ IDEA, compared · 日本語