Alexander Kulyakhtin Alexander Kulyakhtin - 24 days ago 5x
Git Question

Why do I need hg update after hg pull while in git I'm doing only git pull


to pull and use the latest changes to my local repository I'm using
git pull

, I also use
hg pull
but it prints then

run 'hg update' to get a working copy

I do run
hg update
but I wonder why is this difference from


The other answers don't actually answer the question, which is: why don't Git and Mercurial work the same? Is there a philosophical difference?

In Mercurial, pull is the opposite of push: it syncs the local repo with a remote repo without touching the working copy. So it's more consistent.

In Git, pull is a fetch plus a merge, or a pull plus an update in Mercurial terms. Usually this is what you want. So it's more efficient.

The Distributed Version Control University talk has a slide at the 4-minute mark that clearly demonstrates the way Mercurial works. Michael Ernst's Version control concepts and best practices has a similar diagram (included below):

Distributed version control