Reviewed for reference consistency: April 11, 2026
Code is Safe
SECUREGit has paused the operation to protect your code. No data has been lost or corrupted.
What To Know
Where Did It Fail?
Commands That Trigger This
Technical Background
When histories diverge, Git requires a merge or rebase to reconcile the differences.
The non-fast-forward rule protects the central repository from losing commits. If Git allowed the push, the remote pointer would move to your commit, effectively 'forgetting' the other commits.
Underlying Causes
Frequently Asked Questions
It means the remote branch can be updated simply by moving its pointer forward to your new commit, without needing a merge commit, because the histories have not diverged.
Related Git States
Git rejected your push because the remote repository contains commits missing from your local branch.
The remote server actively refused to accept your pushed commits due to server-side rules.
Your local branch and the remote tracking branch have both received different commits.
Your local branch contains commits that have not yet been pushed to the remote server.