GitHub: a pull request cannot be reverted
Reverting a merged pull request creates a new pull request that reverts the original merge commit; you then merge that pull request. Revert is near the bottom of the merged pull request and takes write permissions in the repository: if Revert is not displayed, ask the repository administrator for write permissions (GitHub's reverting a pull request, checked October 27, 2026).
mutation {
revertPullRequest(input: {pullRequestId: "PULL_REQUEST_ID", draft: true}) {
revertPullRequest { number url }
}
}
Why it cannot be reverted
- No Revert button: reverting takes write permissions in the repository. Without them, Revert is not displayed.
- Merge conflicts: GitHub notes that you may need to revert individual commits if reverting the pull request causes merge conflicts.
- Not merged on GitHub: if the original pull request was not merged on GitHub, you may need to revert individual commits too.
- Not merged at all: a revert is for a merged pull request; its changes are what the new pull request reverts.
What the revert creates
- A new pull request: it reverts the original merge commit, and you merge it to finish the revert (GitHub's merging a pull request).
- In the GraphQL API: the
revertPullRequestmutation creates a pull request that reverts the changes from a merged pull request. It takespullRequestId, the ID of the pull request to revert, and optionallytitle,bodyanddraft, and returnspullRequest, the one reverted, andrevertPullRequest, the new one. - The revert link: a pull request's
revertUrlandrevertResourcePathare the HTTP URL and path for reverting it.
What to do
- No permission: ask the repository administrator for write permissions.
- Conflicts, or merged outside GitHub: revert the individual commits with
git revert(see Git revert in the Git documentation), and propose the result in a pull request. See creating a pull request. - The revert pull request does not merge: merge it as GitHub describes for merging a pull request. See not mergeable and merge conflicts.
GitHub pull requests in IntelliJ IDEA
Pull Request Inbox for GitHub, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, shows a pull request's reviews, checks and conversations next to the diff, and merges it with the methods the target branch allows. It does not revert pull requests: revert a merged one with Revert on its page on GitHub, which Open in Browser opens. 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 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 pull request not showing a file diff · 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 · 日本語