We recently had an issue with a strange merge that happened from a branch to master where we saw conflicts that should never have been there.
I finally found the root cause of the problem: a "merge commit" that wasn't one. What I mean: from the commit message, it looked exactly like a merge commit:
Merge remote-tracking branch 'origin/master’ into branchName
Conflicts:
file1
file2
The problem? This commit only had 1 parent!
So, I'm pretty sure the person who created this commit didn't type all this by hand. It came from a real merge commit at some point.
But how did it end up with only 1 parent? Was it rebased? That's a possibility, since the person who did this has "pull --rebase" set as default. But I can't really reproduce this problem.
Any ideas?