fatal: refusing to merge unrelated histories
This error matches known, documented patterns with reliable solutions.
Quick Fix (Most Common Solution)
- Use --allow-unrelated-histories flag
- Carefully review what you are merging
Seeing "fatal: refusing to merge unrelated histories"? This error can be frustrating, but it's usually fixable. It typically affects your development workflow or system. Below you'll find clear, step-by-step solutions to resolve this issue.
What This Error Means
These branches have no common ancestor commit.
Frequently documented in developer and vendor support forums.
Not affiliated with browser, OS, or device manufacturers.
New here? Learn why exact error messages matter →
Common Causes
- Cloned different repo
- Reinitialized repo
- Force pushed new history
How to Fix
- Use --allow-unrelated-histories flag
- Carefully review what you are merging
- Consider starting fresh
Last reviewed: April 2026 How we review solutions
CI/CD Considerations
Unrelated Histories Error in GitHub Actions: Checkout Configuration Matters
Unrelated Histories Error more often than developers expect, because the default is a shallow clone — a clone with only the most recent commit in the history.
Shallow clones (created with fetch-depth: 1 in actions/checkout) lack the full commit graph. Operations that need ancestry information — such as git log, git merge-base, git describe, version bumping scripts, and changelog generation — will fail with Unrelated Histories Error because the required ancestor commits are not present. The fix: set fetch-depth: 0 in your checkout action to fetch the full history, or set it to a specific depth like 50 if full history is too large. For monorepos detecting which packages changed, shallow clones also break git diff HEAD~1 comparisons. Additionally, pipelines running Git operations that write back to the repository (tagging, version bumps) need token: ${{ secrets.GITHUB_TOKEN }} with write permissions explicitly granted in the workflow file.Optional follow-up
Some users ask whether saving fixes for recurring errors would be useful when the same issue appears again.
Was this explanation helpful?
Frequently Asked Questions
When does this happen?
When merging repos with no shared commits.
Is it safe to force?
Only if you understand both histories.
Related Resources
Also Known As
- Git error
- Version control error
- Git command failure
- Repository error
Common Search Variations
- "git push rejected fix"
- "git merge conflict how to resolve"
- "git error what to do"
- "git command failed"
- "fix git repository error"
- "git authentication failed solution"
Related Errors
Still Stuck?
Paste a different error message or upload a screenshot to get help instantly.