Mercurial 入门

另请参阅 Mercurial 教程

创建 Mercurial 存储库

Mercurial 存储库只是一个目录(称为工作目录),其中包含 .hg 目录,其中包含有关存储库内容的元数据。这使得 Mercurial 非常轻巧,易于使用。要创建新存储库,只需运行:

$ hg init project

其中 project 是你要创建的目录的名称。这将创建一个 project 目录以及一个包含存储库本身的 project/.hg 目录。

   $ cd project
   $ echo Hello World > hello.txt
   $ hg stat
   ? hello.txt

我们刚刚在存储库中创建了一个 hello.txt 文件并运行了 hg status (或简称 stat)来查看我们存储库的当前状态。如你所见,hello.txt? 注释,意味着 Mercurial 还没有意识到它。该 add 命令寄存器与水银这个新的文件,所以它会被纳入下一次提交。

$ hg add hello.txt

既然 Mercurial 知道一个已更改的文件,你可以运行 diff 来查看自上次提交以来发生的变化 - 在这种情况下,我们将添加 hello.txt 的全部内容:

$ hg diff
diff -r 000000000000 hello.txt
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/hello.txt Sat Jul 23 01:38:44 2016 -0400
@@ -0,0 +1,1 @@
+Hello

一旦我们对他们满意并准备好检查我们的更改,我们就可以运行 commit

$ hg commit -m "Created a hello world file."

请注意,我们在 -m 中包含了一条提交消息 - 如果你未指定 -m,Mercurial 将启动文本编辑器,你可以输入提交消息。如果你想提供更长的多行消息,这将非常有用。

一旦你提交了更改,如果你运行 hg stat,它们将不再显示,因为存储库现在与工作目录的内容同步。你可以运行 log 来查看提交列表,-v 包含其他详细信息,例如每个提交的文件:

$ hg log -v
changeset:   0:b4c06cc77a42
tag:         tip
user:        Michael Diamond@Aodh <dimo414@gmail.com>
date:        Sat Jul 23 01:44:23 2016 -0400
files:       hello.txt
description:
Created a hello world file.