(you might first want to read UnderstandingMercurial)
A tutorial on using Mercurial
This tutorial is an introduction to using ["Mercurial"]. We don't assume any particular background in using ["SCM"] software. This tutorial is also available in [wiki:FrenchTutorial French], [wiki:SpanishTutorial Spanish], [wiki:JapaneseTutorial Japanese], and [wiki:ChineseTutorial Chinese].
After you work through this tutorial, you should have a grasp of the following:
- The basic concepts and commands you'll need to use ["Mercurial"]
- How to use ["Mercurial"] in simple ways to contribute to a software project
It is also strongly recommended that you have a look at the Mercurial man pages [http://www.selenic.com/mercurial/hg.1.html hg(1)] and [http://www.selenic.com/mercurial/hgrc.5.html hgrc(5)], which are in the source tree as doc/hg.1.txt and doc/hgrc.5.txt.
How to read this tutorial
The formatting convention is simple. Command names and parameters are displayed in fixed font.
A line of input that you should type into your shell or command prompt is displayed in a fixed font, and the line will start with a $ character.
A line of output that you should expect ["Mercurial"] or your shell to display is displayed in a fixed font, but with no special character at the start of the line.
$ this is a line of user input this is a line of program output
We use the bash shell in all examples. The concepts remain the same for other Unix shells and the Windows command.exe, but the syntax of some operations may change. For example, ls in a Unix shell is roughly equivalent to dir under Windows, and Unix vi is similar to Windows edit.
Table of contents
TutorialInstall - installing ["Mercurial"]
TutorialClone - making a copy of an existing ["Repository"]
TutorialHistory - navigating the history of a ["Repository"]
TutorialFirstChange - making your first change
TutorialShareChange - sharing changes with another ["Repository"]
TutorialExport - sharing changes with another person
TutorialMerge - handling multiple independent changes to a file
TutorialConflict - handling ["Merge"]s that need manual resolution
TutorialConclusion - the end