Git not-possible-to-fast-forward A fast-forward-only integration was refused because local and fetched histories diverged.
Reviewed for reference consistency: August 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
The abort is the option working as specified: --ff-only exists to keep integrations predictable in scripts, and its failure mode is a clean refusal rather than a surprise merge commit. The non-zero exit tells automation to stop.
The hint above the message proposes `git merge --no-ff` or `git rebase` as the two reconciliations, and `git config advice.diverging false` silences the hint for scripted environments. Neither suggestion is applied automatically — the branch stays exactly as it was.
Underlying Causes
Frequently Asked Questions
A clean tree says nothing about history shape; divergence is about commits, and --ff-only fails on any local commit the remote branch lacks.
No. That one rejects a push because the remote is ahead; this one refuses a local update because both sides moved and no pure pointer move exists.
Related Git States
Git paused the merge because it cannot automatically resolve overlapping changes.
Git rejected your push because your branch is behind the remote, preventing a linear update.
Your local branch and the remote tracking branch have both received different commits.
Status reports both the local branch and its upstream holding separate new commits.