I need to revert a branch to a previous point. As you can see in the following picture the branch has multiple commits and merges done. I need to revert this to the "fixing" commit.
So i tried:
git revert --no-commit fixingHashCode..HEAD
but the it throws an error:
error: commit fixingHashCode is a merge but no -m option was given. fatal: revert failed
Next i used:
git revert --no-commit fixingHashCode..HEAD -m 3
And a error was reported again:
error: mainline was specified but commit fixingHashCode is not a merge. fatal: revert failed
How can i acheive this?

fixing, or do you want to change the history, pretending that all the red and blue commits never existed? (Since the history is already published, changing it would not be a good idea.)