Push creates new remote heads! (did you forget to merge? use push -f to force)

JDavies picture JDavies · Sep 10, 2013 · Viewed 93.9k times · Source

Ok I've had a little google and can't find a solution as i've stumbled across the same message but different ways in which people have got it. I'm new to mecurial and want to make sure i'm doing this correctly.

So i'm getting the error message as above. I have a dev site and a live site and i'm trying to push the code to codebase.

However yesterday I accidentally did hg add which added all the media which i didn't want to do. I did revert after to remove all the media files from codebase, by then committing and push the changes. So today i've been making changes to the CSS file and a few templates. I've gone to commit my changes and push them but when i run hg push I get the error above.

I've run hg log and there are only 6 commits as it's a clean/new branch/project. Any help would be much appreciated and I apologize if i've not explained anything correctly!

Answer

Ry4an Brase picture Ry4an Brase · Sep 11, 2013

This isn't an "error" message; it's a totally normal situation. That message is saying "hey, other people pushed new work to that repository while you were doing your work, you should probably integrate theirs into your so they don't have to integrate yours into theirs?"

So first do a:

hg pull

and then a:

hg merge

Incidentally the revert you did if you actually used the hg revert command didn't remove those files from history, so your history is probably pretty big.

Consider reading the first few chapters of the Mercurial book it covers these situations quite well.