GitHub: Rebase and merge is not available
Rebase and merge adds each commit of the head branch onto the base branch without a merge commit. It takes write permissions in the repository and a repository that allows rebase merging; if GitHub cannot safely rebase the pull request automatically, rebase it locally, resolve the conflicts and push the updated branch (GitHub's rebase and merge your commits, checked October 27, 2026).
Why it is not available
- Not allowed in the repository: rebase merging is allowed under Pull Requests in the repository's Settings, Allow rebase merging. A protected branch that requires a linear history needs squash merging, rebase merging or both allowed (GitHub's configuring commit rebasing for pull requests).
- GitHub cannot rebase it safely: contributors may have to rebase on the command line, resolve any conflicts, and force push to the head branch before they can use Rebase and merge on GitHub (GitHub's about merge methods on GitHub). In the API, a pull request has a
rebaseablefield, true, false or null (GitHub's REST API endpoints for pull requests). - The branch rules ask for another method: merge methods set on the repository that conflict with a ruleset's merge method rule prevent merging (see merge method not allowed).
What Rebase and merge changes
- New commits: it always updates the committer information and creates new commit SHAs, whereas
git rebasedoes not change the committer information when the rebase happens on top of an ancestor commit. After the merge, the pull request'smerge_commit_shais the commit the base branch was updated to. - Empty commits: it drops commits that were empty to begin with, such as those made with
git commit --allow-empty, whichgit rebasekeeps by default. - Signatures: the commits are added to the base branch without commit signature verification, as GitHub cannot sign them on your behalf (see merge blocked by unsigned commits).
What to do
- Rebase locally: rebase the head branch onto the base branch, resolve the conflicts, and force push it; force push carefully, so that you do not overwrite work others have based theirs on. A branch rule may block the force push (see force push blocked).
- Or another method: squash and merge, or a merge commit, when the branch rules allow them.
- Allow it: someone who can change the repository settings selects Allow rebase merging.
In IntelliJ IDEA: Rebase follows GitHub's canBeRebased, not the merge state
When the GitHub support built into IntelliJ IDEA turns its Rebase button on, in its source (checked October 31, 2026; IntelliJ IDEA: GHPRReviewFlowViewModelImpl.kt, GHPRRebaseMergeAction.kt, GHPRMergeabilityStateBuilder.kt, pullRequestMergeability.graphql, GHPRSecurityServiceImpl.kt, GithubSharedProjectSettings.kt, GHPRDetailsServiceImpl.kt):
- When it is on: only when all of these hold: the repository allows rebase merging, as the IDE read it when it connected (see why the merge method was refused); GitHub's GraphQL
canBeRebasedfor the pull request, "Whether or not the pull request is rebaseable", is true; the account has Write permission or above; when the target branch has a rule, GitHub reports that you can push to it; the project's shared settingpullRequestMergeForbidden, kept in.idea/vcs.xml, is not on; and no other action of the pull request is running. - Not the merge state: Merge… and Squash and Merge… also need GitHub's merge state to allow the merge, but Rebase looks at
canBeRebasedinstead. So Rebase can be on while those two are off, and then GitHub decides when the request arrives. - When it is pressed, it sends the rebase merge at once, with no dialog. If GitHub refuses, the source writes the error to the IDE's log only.
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. Its merge dialog offers Rebase and merge when the repository settings and the branch rules allow it, says so when GitHub cannot rebase the pull request automatically (rebaseable false), and a refusal is shown in GitHub's words. 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 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 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 · 日本語