This is a weird merge. I had re-written everything in a separate repository, and basically wanted that new repo (update) to be the new master of this repository, whilst preserving the history of the update repo. Here's what I did: $ git remote add update <path to update> $ git fetch update $ git merge -X theirs --allow-unrelated-histories update/master $ # remove extra files $ git commit --amend