git subtree error "fatal: refusing to merge unrelated histories"

Matthijs picture Matthijs · Sep 1, 2016 · Viewed 12.9k times · Source

I'm trying to figure out how 'git subtree' works. I've followed all directions on this page, but I always get an error trying to merge the subtree project in my own repo ('Step 2'): fatal: refusing to merge unrelated histories.

I've read this post, and when I use the --allow-unrelated-histories option, it seems to work fine. However, I'm not sure whether I should use this...My impression is that the whole point of subtrees is to have unrelated histories within one repository, so it feels strange to have to add the option. Should I add it nevertheless, or am I doing something wrong?

I'm using git v2.9.3 on osx 10.11.6

Answer

PencilBow picture PencilBow · Aug 28, 2018

If the subtree was added using --squash, you need to also use --squash when you pull

git subtree pull --prefix=<folder-goes-here> <remote-goes-here> <branch-goes-here> --squash