Mercurial for Beginners: The Definitive Practical Guide

Inspired by Git for beginners: The definitive practical guide.

This is a compilation of information on using Mercurial for beginners for practical use.

Beginner – a programmer who has touched source control without understanding it very well.

Practical – covering situations that the majority of users often encounter – creating a repository, branching, merging, pulling/pushing from/to a remote repository, etc.

Notes:

  • Explain how to get something done rather than how something is
    implemented.
  • Deal with one question per answer.
  • Answer clearly and as concisely as possible.
  • Edit/extend an existing answer rather than create a new answer on the
    same topic.
  • Please provide a link to the the Mercurial wiki or the HG Book for people who want to learn more.

Questions:

Installation/Setup

  • How to install Mercurial?
  • How to set up Mercurial?
  • How do you create a new project/repository?
  • How do you configure it to ignore files?

Working with the code

  • How do you get the latest code?
  • How do you check out code?
  • How do you commit changes?
  • How do you see what’s uncommitted, or the status of your current codebase?
  • How do you remove files from the repository?
  • How do you destroy unwanted commits?
  • How do you compare two revisions of a file, or your current file and a previous revision?
  • How do you see the history of revisions to a file or repository?
  • How do you handle binary files (visio docs, for instance, or compiler environments)?
  • How do you merge files changed at the “same time”?
  • How do you revert a Changeset?
  • How do you go back to a previous version of the code?
  • How do you extract a patch from a specific changeset?
  • How do you record that you renamed or deleted a file without using the Mercurial command?

Tagging, branching, releases, baselines

  • How do you ‘mark’ ‘tag’ or ‘release’ a particular set of revisions for a particular set of files so you can always pull that one later?
  • How do you pull a particular ‘release’?
  • How do you branch?
  • How do you merge branches?
  • How do you merge parts of one branch into another branch?

Other

  • Good GUI/IDE plugin for Mercurial? Advantages/disadvantages?
  • Any other common tasks a beginner should know?
  • How do I interface with Subversion?

Other Mercurial references

  • Mercurial: The Definitive Guide
  • Mercurial Wiki
  • Meet Mercurial | Peepcode Screencast
  • Mastering Mercurial | TekPub Screencast
  • Hg Init – ground-up Mercurial tutorial

22 Answers
22

Leave a Comment