I'm new to mercurial/git/sourcetree - I come from a perforce world, so the terminology is all alien to me. I'm hoping someone can help me with this problem.
I have a project hosted on a bitbucket mercurial repository. I'm using sourcetree as my client on my PC and on my Mac. A friend of mine is also working remotely on the same project.
I always first pull and then do a push and commit together so that the hosted repository is always current.
Here's the problem I run into. Sometimes I unwittingly press commit before remembering to do a pull. It turns out that my friend has submitted a change in that time and I have a new change to pull. So I end up with a branched changelist. Now I'm unable to push my changes anymore - it says: abort: "push creates new remote head (did you forget to merge? use push -f to force)"
What exactly am I supposed to merge? my changelist? My friend's changelist that got pulled?
Either way, I'm not able to merge my changes.
I can't reverse commit my changes either. None of those options work for me.
My question probably makes no sense to anyone else, so please let me know if I can explain myself better 