一、什么是Mercurial?

         Mercurial是一个快速的、轻量级的源代码控制管理系统。它被设计用来方便有效地管理一些非常大的分布式项目。

二、 Mercurial的基本知识

        1.版本控制的各种叫法

        修订控制 (RCS)

        软件配置管理(SCM),或配置管理 

        源代码管理 

        源代码控制, 代码控制

        版本控制 

        2.为什么使用Mercurial?

        Mercurial易学易用,它是轻量级的,容易客户化

        3.Mercurial的安装

        之前发布的Mercurial工具包可以适用于各种流行的操作系统之上,这使得它可以很容易快速的在你的电脑上开始使用。

        1)Windows:Windows下最好的Mercuial版本是TortoiesHg

        2)Mac OS X:可以在此网址下载http://mercurial.berkwood.com

        3)Solaris:可以在http://www.sunfreeware.com下载

三、Mercurial基本命令:

        1.hg version:查看当前使用的Mercurial的版本信息,可以用来测试Mercurial系统是否成功部署。

        2.hg help:Mercurial提供的内置帮助系统,运行此命令会打印出一个简单的命令列表,以及各个命令的用途。

        如果运行“hg help 命令名”则会打印出该命令的详细信息。如hg help init

        运行hg help -v会打印出比平时更加详细的信息

       3.hg log:查看仓库中的历史变化纪录

        默认打印出我们所记录的项目的每一次的变化,在Mercurial术语中,每一次的记录事件称为一个变化集,因为它可以包含相关文件的改变情况。

        每一条记录包含以下内容:

                changeset:输出形式为  数字:十六进制字符串,是这个变化集的标识符

                user:标识产生此此变化的人

                date:这个变化集的创建日期和时间,以及它被创建的时区

                summary:变化集的创造者描述此变化的文本信息。

                tag:以另一种方式标识记录集,一般最新的记录上才有此标记

        hg log -r 参数:-r选项可以限制hg log只输出单次修正对应的变化集,其中的参数可以是对应记录的编号,或者是它的十六进制字符串标识。hg log之后还可以跟多个‘-r 参数’,这样就可以输出几个指定的修改情况。

        hg log -r 起始标识:结束标识 这样就可以查询出在起始标识和结束标识之间的修改情况。并且输出的顺序从起始到结束递减或递增,这与起始标识与结束标识的相对大小有关。

        hg log -v -r  参数:-v选项可以输出关于修改的完整描述。

        hg log -v -p -r 参数:-p选项可以显示出对内容的修改情况。在输出结果中,每一行的开头对应某种修改标识。'-'表示删除了该行,'+'表示增加了该行,修改某一行则是先删除此行,再增加新的一行。

        hg log 的每一个选项都有对应的长名称:如-r(--rev)、-p(--patch)、-v(--verbose),长名称要以两个破折号开头,而短名称以一个破折号开头。

        如果你使用的几个选项都是短名称,你可以把它们写在一块儿。如hg log -v -p -r 2可以写成hg log -vpr2或hg log -vpr 2。

        4.hg status:此命令可以打印出Mercurial关于库中的文件都知道些什么。从未修改过的文件不会被列出来。如果某一行以M开头,表示此文件已经被修改。

        5.hg diff:此命令可以精确地查看文件地哪些地方进行了修改。

        6.hg commit:此命令可以帮我们创建一个新的变化集,此操作我们通常称之为进行提交。

        提交操作需要指明是那个用户进行提交,可以是hg commit -u username,或者先创建一个名为.hgrc的文件,此文件内容如下:

# This is a Mercurial configuration file.

[ui]

username = Firstname Lastname <email.address@example.net>

此文件须创建在本地目录中。

        执行hg commit 命令之后会进入一个编辑窗口,我们可以写一些关于此次修改的一些描述信息,保存完成之后提交成功。如果强制退出此编辑程序则表示放弃本次提交。

        7.提交成功之后我们可以使用hg tip命令查看刚刚创建的变化集。

        8.hg init 项目名称:在当前目录中创建一个新的空的Mercurial仓库,用来存放此项目的各种变更记录。

        9.hg add:将已经存在的文件通知给Mercurial,开始进行跟踪记录。