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-historiesoption 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 OverflowYou 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-historiesoption 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.
In my case, the error was just fatal: refusing to merge unrelated histories on every try, especially the first pull request after remotely adding a Git repository.
Using the --allow-unrelated-histories flag worked with a pull request in this way:
git pull origin branchname --allow-unrelated-histories
As per 2.9.0 release notes - git pull has been taught to pass the --allow-unrelated-histories option to underlying git merge
How to deal with "refusing to merge unrelated histories" error
Is keeping both sets of commits possible with merging unrelated histories?
Fix fatal: refusing to merge unrelated histories on git pull
How to resolve several merge conflicts when merging feature branch to master without generating a commit for every resolved conflict?
Some background. I was working on a dev branch for some analysis software I was working on at my organization, and we wanted to do some live testing but, because of access restrictions we couldn't actually clone it from the remote branch. So, we downloaded the zip and then kept adjusting the code from there.
After that, we initialized git in the extracted folder and set the upstream to be our remote repo so it had a branch there and I thought things were fine. I realized now though while trying to do a pull request that it wasn't fine. Because we started from the zip, it has no common history with dev so it won't allow a merge back into the dev branch.
So now I'm here asking, is there a way to merge back into that dev branch, appending the commits I had since all the changes were made after?