I've been using git happily for the better part of a year, and our team is using the git-flow model (although not git-flow itself). Last week I created a release branch and have been happily merging the changes back into the development/unstable branch - that is until something very strange happened today.
Somehow, the release branch got hyper-merged, or something. I honestly can't think of a better way to describe it than "crossing the streams". Here's a visual from Git Extensions:

I'm obfuscating most of the commit comments, sorry. But starting from the bottom, you can clearly see the development branch on the left and the release branch on the right being periodically merged into it. Until about halfway through, when I must have done something wrong with the merge, because at that point the release branch literally merged with the development branch - they actually appear to share a merge commit that should only have been on the development branch.
GitHub presents a slightly clearer view:

This doesn't look so unusual, except for the fact that the blue and black lines are supposed to be the same branch. Just to tick off the obvious:
There are commits from other contributors, but the specific commits in question are from me. I know I can trust the commit messages.
The commit messages all say the same thing: "Merge branch 'release-1.3' into develop." So I know I didn't, for example, accidentally merge the development branch into the release branch instead.
I never created any new branches or used any commands other than
git pull --rebase,git commit, andgit merge. I wasn't experimenting or trying to do anything creative with