Mercurial is a piece of distributed version control (DVCS) software which is remarkably easy to work with from the command line¹. Users of the grand-daddy of version control software, CVS, or its follow-up – Subversion, will be pleased to notice that the Mercurial developers have gone to great length to provide a similar syntax. Where Mercurial deviates it’s mainly due to the nature of DVCS which brings with it a couple of concepts not used in traditional client/server version control systems.
This guide is designed to give a DVCS novice a feel for distributed version control in general and Mercurial in particular in under 10 minutes. Unix and client/server version control familiarity is assumed.

The Mercurial executable is named for the chemical symbol of the element mercury - Hg. Photo credit: Bionerd
Start with installing Mercurial:
Visit the Mercurial download page and grab an installation package of your choice.
Create a repository:
~# mkdir repo1
~/repo1# cd repo1
~/repo1# hg init
Add a file to the repo:
~/repo1# touch file.txt
~/repo1# hg add file.txt
Commit the file to the repo:
~/repo1# hg commit
Clone the repo:
~/repo1# cd ~
~/# hg clone repo1 repo2
Make a change in the working copy of the cloned repo and commit it:
~/# cd ~/repo2
~/repo2# echo "DOH" > file.txt
~/repo2# hg commit
Push the change to repo1
:
~/repo2# hg push
Update repo1
with the delta from repo2
:
~/repo2#
cd ~/repo1
~/repo1# hg update
Let’s try pulling changes from repo1
to repo2
:
~/repo1#
echo "DOH2" >> file.txt
~/repo1# hg commit
~/
repo1
# cd ~/repo2
~/repo2# hg pull
~/repo2# hg update
Note that good help is never far away :
~/# hg help
~/# hg help pull
For more on what you can do with with Mercurial read up on 4 cool things you can do with a distributed version control system.
¹) If you are so inclined, there are good graphical Mercurial interfaces such as TortoiseHg available.