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
- Verify you are merging correct branches
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
The branches you are merging have completely separate commit histories.
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
- Merging different repositories
- Repository initialized separately
- History was rewritten
How to Fix
- Use --allow-unrelated-histories flag
- Verify you are merging correct branches
- Consider fresh clone instead
Last reviewed: June 2026 How we review solutions
Didn't fix it? Get a personalised solution
OS-Specific Behavior
Case-Sensitive Filesystems and Unrelated Histories on Linux vs macOS
Unrelated Histories when code developed on macOS is deployed to Linux servers.
The classic scenario: a developer renames Component.js to component.js on macOS. The filesystem does not register a change, so git status shows nothing. On Linux, the old casing and new casing are different files, causing import errors and Unrelated Histories. To force Git to recognize a case-only rename: use git mv Component.js component_temp.js && git mv component_temp.js component.js — the two-step rename works around the macOS filesystem limitation. Another common pattern: .gitignore entries match differently on case-insensitive systems. A rule that ignores node_modules on macOS also ignores Node_Modules (unlikely but possible with some tools), while on Linux each case would need an explicit rule. Run git ls-files --others --ignored --exclude-standard on both systems to compare which files are being excluded.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?
Usually when merging a new repo with an existing one.
Is allow-unrelated-histories safe?
Yes, but verify contents carefully after merge.
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.