3. 介绍Mercurial¶
3.1. 介绍¶
Mercurial 管理包含修订树的分布式存储库(每个修订指示获取下一个修订所需的更改,依此类推)。在本地,我们有一个包含修订树的存储库和一个工作目录。可以将其放入其本地存储库的一个版本的工作目录中,进行修改,然后将其推送到存储库中。也可以从另一个存储库获取修订,或者将自己的修订从本地存储库导出到另一个存储库。
与CVS/Subversion不同,我们通常为每个项目创建一个要管理的存储库。
在协作开发中,我们通常创建一个可供项目的所有开发人员访问的中央存储库。这些中央存储库用作参考。根据他们的需要,每个人都可以有一个本地存储库,他们必须不时地与中央存储库同步。
3.2. 主要命令¶
创建本地存储库::
hg clone ssh://myhost//home/src/repo
请参阅本地存储库(qt中的图形工具)的内容:
hgview
在当前目录中添加子目录或文件:
hg add subdir
将本地存储库中的特定版本(或最后一个版本)移动到工作目录:
hg update [identifier-revision] hg up [identifier-revision]
在其本地存储库中,远程存储库中包含的修订树(这不会更改本地目录)::
hg pull ssh://myhost//home/src/repo hg pull -u ssh://myhost//home/src/repo # equivalent to pull + update
查看本地存储库分支的头是什么,如果 pull 返回一个新分支:
hg heads
提交本地存储库中的工作目录(并创建新修订)::
hg commit hg ci
与本地目录的母亲修订版合并,本地负责人的另一个修订版(新修订版将是两个母亲修订版)::
hg merge identifier-revision
导出到远程存储库,其内容本地响应中的修订树(这不会更改本地目录)::
hg push ssh://myhost//home/src/repo
查看哪些本地修订不在其他存储库中::
hg outgoing ssh://myhost//home/src/repo
查看在本地未找到的存储库的修订版本:
hg incoming ssh://myhost//home/src/repo
查看从工作目录中取出并修改的本地存储库的修订版本:
hg parent
查看工作目录和本地存储库的母版本之间的差异,可能在本地存储库中提交它们:
hg diff hg commit-tool hg ct
3.3. 最佳实践¶
- 记住 hg pull -u 定期,尤其是以前
一 hg commit .
记住 hg push 当存储库包含相对稳定的更改版本时。
如果A hg pull -u 创建了一个新的分支机构负责人:
查找其标识符 hg head
与合并 hg merge
hg ci
hg push
3.4. 更多信息¶
有关Mercurial的更多信息,请参阅Mercurial在线项目。 documentation.