You can use --allow-unrelated-histories to force the merge to happen.

The reason behind this is that default behavior has changed since Git 2.9:

"git merge" used to allow merging two branches that have no common base by default, which led to a brand new history of an existing project created and then get pulled by an unsuspecting maintainer, which allowed an unnecessary parallel history merged into the existing project. The command has been taught not to allow this by default, with an escape hatch --allow-unrelated-histories option to be used in a rare event that merges histories of two projects that started their lives independently.

See the Git release changelog for more information.

More information can be found in this answer.

Answer from blue112 on Stack Overflow
Discussions

git pull - Git is refusing to merge unrelated histories. What are 'unrelated histories'? - Stack Overflow
I created a local repo with git remote origin https:////.... Then, in that local repo, I made a new text file → git add newfile.txt → git commit -m "..." → git pull origin main → ERROR! &... More on stackoverflow.com
🌐 stackoverflow.com
branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories
Hi I'm trying to test this plugin but I'm always receiving this message branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories gav version: 1.6 Plugin version: 2.1.0 More on github.com
🌐 github.com
12
May 14, 2020
fatal: refusing to merge unrelated histories
I'm getting the fatal: refusing to merge unrelated histories when I'm trying to merge branches, for some reason. My steps: - name: Use checkout v2 uses: actions/checkout@v2 with: ref: refs/... More on github.com
🌐 github.com
4
December 26, 2019
Merging a completely historically unrelated branch with another

Try using --allow-unrelated-histories with git merge.

See https://git-scm.com/docs/git-merge#Documentation/git-merge.txt---allow-unrelated-histories

You might still get conflicts if both branches touched the same file though.

More on reddit.com
🌐 r/git
11
2
October 2, 2024
People also ask

How to Fix "fatal: refusing to merge unrelated histories" in Git
This error appears when you try to merge two Git repositories that share no common ancestor — their histories are completely unrelated from Git's perspective. A common trigger is creating a new repository on GitHub with an auto-generated README or LICENSE file and then trying to push a separate, pre-existing local repository to it. To resolve it, run git pull origin main --allow-unrelated-histories, which tells Git to proceed with the merge despite the lack of a shared ancestor. Git will then attempt to combine the two histories, potentially surfacing conflicts if both sides contain files with
🌐
git-tower.com
git-tower.com › learn › git faq › how to fix "fatal: refusing to merge unrelated histories" in git
How to Fix "fatal: refusing to merge unrelated histories" in Git ...
How can I prevent 'fatal: refusing to merge unrelated histories' errors?
Ensure your branches share a common commit history. When working with forks or split repositories, establish a common ancestor or use patch files to apply changes instead of directly merging or rebasing.
🌐
blog.openreplay.com
blog.openreplay.com › openreplay blog › how to fix 'fatal: refusing to merge unrelated histories' during git rebase
How to Fix 'fatal: refusing to merge unrelated histories' During ...
What happens if I merge unrelated histories?
Merging unrelated histories can result in a confusing commit graph. Ensure the branches you're merging are related to your project.
🌐
blog.openreplay.com
blog.openreplay.com › openreplay blog › how to fix 'fatal: refusing to merge unrelated histories' during git rebase
How to Fix 'fatal: refusing to merge unrelated histories' During ...
🌐
Komodor
komodor.com › home › articles › how to fix ‘fatal: refusing to merge unrelated histories’ git error
How to fix 'fatal: refusing to merge unrelated histories' Git error
September 15, 2025 - One way to solve the issue is to use the --allow-unrelated-histories git flag. Here the git command will look something like this: git pull origin master --allow-unrelated-histories.
🌐
OneUptime
oneuptime.com › home › blog › how to fix 'fatal: refusing to merge unrelated histories'
How to Fix 'Fatal: refusing to merge unrelated histories'
January 24, 2026 - # You had a local clone cd ... histories # The new remote has completely new commits · Use the --allow-unrelated-histories flag to force the merge....
🌐
OpenReplay
blog.openreplay.com › openreplay blog › how to fix 'fatal: refusing to merge unrelated histories' during git rebase
How to Fix 'fatal: refusing to merge unrelated histories' During Git Rebase
December 2, 2024 - Ensure the branches you’re merging or rebasing are related to your project. The “fatal: refusing to merge unrelated histories” error happens when you try to merge or rebase branches that have no common commit history.
Find elsewhere
🌐
Educative
educative.io › answers › the-fatal-refusing-to-merge-unrelated-histories-git-error
The “fatal: refusing to merge unrelated histories” Git error
The “fatal: refusing to merge unrelated histories” Git error occurs when two unrelated projects are merged (i.e., projects that are not aware of each other’s existence and have mismatching commit histories).
Top answer
1 of 7
300

I think you have committed in the remote repository, and when you pull, this error happens.

Use this command:

git pull origin main --allow-unrelated-histories
git merge origin origin/main
2 of 7
65

I ran into a similar problem where I brought in a branch from a second remote and wanted to merge with a branch from the first remote. This is different from the existing answers as I'm not using --allow-unrelated-histories on the pull, but on the merge.

git fetch origin main
git checkout main
git merge --allow-unrelated-histories myfunnybranch

This fetches and checks out the main branch and merges the myfunnybranch into it. By using git fetch rather than git pull we distinguish between bringing code to our machine, and performing the difficult merge.

When NOT to perform an unrelated history merge

Warning: An "unrelated history" is a history that does not go back to a common source. In other words, myfunnybranch and main are derived from two completely different repositories.

If the two repositories are very similar or have lots of files in common, there is a good chance that one of the repos lost its history somewhere along the way. Whether or not this is the case, its probably best to avoid two histories leading to the same set of files. Instead, you'd like to keep the longer history and have a single commit bringing in any changes from the other repository. To achieve this goal, checkout the repository with the longer history and copy the files of the other one in, which should produce a small commit with few changes, which git status and git diff will summarize for you before you make the commit with git commit. For more details, this answer to another question, which was mentioned in a comment on another answer to this question.

In the OP's case (which was elaborated on in an edit to the question), there is likely no need for an unrelated merge. Perhaps the OP didn't clone the repo, or perhaps someone else pushed to the empty repo before the OP made their initial commit. Either way, since the OP is editing only a single file, it would be better to simply clone the repo fresh, copy the new file into the cloned repo, and add, commit, and push there.

When TO perform an unrelated history merge

You would only want to merge unrelated histories if the two repositories indeed share very little in common. For example, each repository contributes a different set of files during the merges.

In my case I wanted to merge two totally different repos that had files in different directories and I wanted to preserve the history of both of these. This was code that I thought should be together in a single repo but was originally written in two different repos.

While the OP appears to be adding a new file here, this is probably not a case where we need multiple histories.

As P. Ent notes in a comment, one case where it makes sense to merge unrelated histories is when you have performed a fair bit of development locally, and there really hasn't been much development on origin/main. If essentially all of the development was done locally on myfunnybranch, it might even make sense to run

git checkout myfunnybranch
git merge -s ours --allow-unrelated-histories main

This ignores all the work on the main branch, but keeps it in the history. Only the code in myfunnybranch is kept. Now merging myfunnybranch back into main should be easy.

In cases like these, git log --all --graph is useful to see what your local repository looks like before you push anything.

For example, after the git merge -s ours command suggested above, you might find your repo to look like

git log --all --oneline --graph
*   6c8188b (HEAD -> myfunnybranch) Merge branch 'main' into myfunnybranch
|\
| * b93aabd (origin/main, origin/HEAD, main) Initial commit on remote server
* f69e99b some work I did locally
* df5d8ae more local work
* da455d6 Initial commit that I made locally

In this case you could use

git diff 6c8188b f69e99b 

to confirm that your most recent commit, 6c8188b, really didn't change any of the work you did locally. It will print nothing if there are no changes.

Then, merging myfunnybranch back into main will result in main matching your local development, too. This is because from the main branch's perspective, commit 6c8188b makes a whole bunch of edits bringing the branch exactly in line with the other branch.

🌐
Namehero
namehero.com › blog › resolving-the-fatal-refusing-to-merge-unrelated-histories-error
Resolving the "Fatal: Refusing to Merge Unrelated Histories" Error
April 9, 2025 - In git, the “fatal: refusing to merge unrelated histories” error occurs when you merge two branches with no common ancestor and git doesn’t know where to begin the merge.
🌐
DEV Community
dev.to › abisaifredrick › fatal-refusing-to-merge-unrelated-histories-3bb4
fatal: refusing to merge unrelated histories - DEV Community
August 12, 2024 - Create a new empty commit that connects unrelated branches then merge those branches. ... When setting up a new repository, it’s advisable to initialize it using an existing project.
🌐
Graphite
graphite.com › guides › how-to-resolve-git-error-refusing-to-merge-unrelated-histories
How to resolve the Git error "refusing to merge unrelated histories"
... If you are combining two distinct repositories, follow similar steps but ensure that you add both repositories as remotes and fetch changes from each. Use the --allow-unrelated-histories flag when merging their branches.
🌐
Mazer.dev
mazer.dev › en › git › troubleshooting › how-to-fix-git-fatal-error-refusing-to-merge-unrelated-histories
How to fix Git fatal error: refusing to merge unrelated histories - Mazer.dev
October 1, 2022 - git pull origin main --allow-unrelated-histories # output Username for 'https://gitlab.com': nunomazer Password for 'https://[email protected]': From https://gitlab.com/nunomazer/meu-projeto * branch main -> FETCH_HEAD Merge made by the 'recursive' strategy.
🌐
GitHub
github.com › trilbymedia › grav-plugin-git-sync › issues › 168
branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories · Issue #168 · trilbymedia/grav-plugin-git-sync
May 14, 2020 - Hi I'm trying to test this plugin but I'm always receiving this message branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories gav version: 1.6 Plugin version: 2.1.0
Author   trilbymedia
🌐
Laracasts
laracasts.com › discuss › channels › forge › forge-fatal-refusing-to-merge-unrelated-histories
Forge, refusing to merge unrelated histories
$ git branch -a laravel-11 * master remotes/origin/laravel-11 · After some head scratching, we found that removing the origin and adding it back in, then fetch -a, fixed it:
🌐
DEV Community
dev.to › omesha › solving-the-error-fatal-refusing-to-merge-unrelated-histories-491h
Solving the Error - "fatal: refusing to merge unrelated histories" - DEV Community
July 20, 2025 - As I really wanted to combine these repositories, I used a git command to allow the merge with a git option --allow-unrelated-histories ... and resolved the merge conflicts that came my way. While running the above command, you will be redirected to the Vim editor. Don't worry if you don't understand it, just follow the brief guide below, and you will be good to go. ... After saving and exiting the Vim, you just have to push the commit to the branch git push origin main
🌐
Baeldung
baeldung.com › home › git › how to fix git “refusing to merge unrelated histories”
How to Fix Git “Refusing to Merge Unrelated Histories” | Baeldung on Ops
February 6, 2024 - The –allow-unrelated-histories option will tell the Git that we allow merging branches with no common history base, which then should finish the merge without errors. We should note that for the Git version 2.9 or older, this option is not ...
🌐
Career Karma
careerkarma.com › blog › git › how to solve fatal: refusing to merge unrelated histories
How to Solve fatal: refusing to merge unrelated histories | Career Karma
December 1, 2023 - The fatal: refusing to merge unrelated histories git error can be resolved using the --allow-unrelated-histories flag. On Career Karma, learn how to resolve this common error.
🌐
GitHub
github.com › actions › checkout › issues › 125
fatal: refusing to merge unrelated histories · Issue #125 · actions/checkout
December 26, 2019 - Update: Adding --allow-unrelated-histories to the merge command makes it work. I don't understand how does git detect the branches as having different histories though.
Author   actions
🌐
Datree
datree.io › resources › git-error-fatal-refusing-to-merge-unrelated-histories
Fix Git Error - Fatal: refusing to merge unrelated histories - Datree.io | Datree.io
November 21, 2019 - In short, the solution is to use the flag --allow-unrelated-histories. If the error occurred while using $git pull then this is an example: ... In the example, the error occurs during a git pull.
🌐
GeeksforGeeks
geeksforgeeks.org › git › how-to-fix-git-refusing-to-merge-unrelated-histories-on-rebase
How to Fix - Git Refusing to Merge Unrelated Histories on Rebase? - GeeksforGeeks
May 27, 2024 - Without a shared history, Git cannot perform a rebase, merge, or any operation that relies on a common commit base. ... To resolve this error, you can instruct Git to allow merging unrelated histories using the --allow-unrelated-histories flag.