13

我刚刚开始研究一个使用 Mercurial 作为版本控制系统的项目,我需要一些关于如何使用它的基本技巧。请使用此问题提供有关此技术的一些介绍性提示。

特别是,我正在寻找有关使用的最佳程序和最佳技术的提示(分支、进出检查等。我需要学习最佳实践!)

4

7 回答 7

14

我知道您已经拥有 Mercurial 网站,但对我来说最有用的资源是Mercurial 书。这是对该程序及其使用方法的出色概述。

我发现学习 Mercurial 的最佳方式就是在项目中使用它。我将一个从 subversion 导出的项目导入 Mercurial,并用它进行了一些常规开发。我确保为不同的变更集克隆存储库,以便我可以习惯合并和更新。我还没有学会所有的高级用法,但我现在已经站稳了脚跟,还没有切换回 Subversion。

许多项目有不同的提交工作流技术。有些更改是从开发人员那里推送的,例如集中式系统,有些会从贡献者那里提取更改(例如 Linux)。在不了解项目流程的情况下很难概括太多。

这就是我的开发方式:

  • project-trunk文件共享或http 上的集中树,称为project最终项目版本
  • 我系统上的一棵干净的树,我从远程存储库克隆并用于推送回存储库。然后我从这棵树中克隆以进行更改。我称这棵树project-local
  • 为我的每个更改克隆project-local树:例如。project-addusers,project-141等。
  • 在完成对树的提交后,我将更改推送到project-local存储库
  • 最后,将更改推project-local送到project-trunk

我有干净的project-local树,因为这样我可以一次将所有变更集推回主干,如果有一组相关的更改需要一起推回,这将很有帮助。

至于工具,这取决于您的平台。我只是使用香草命令行工具。来自 TortoiseSVN,进入命令行有点变化。但我现在很好。我尝试使用 TortoiseHg,但它在我的 Windows 7 x64 虚拟机上运行不佳。我听说它在受支持的 32 位平台上要好得多。

于 2009-05-08T02:36:41.050 回答
14

这是由Joel Spolsky撰写的关于 Mercurial的有用教程

它涵盖了基本用法和命令,以及如何在概念层面上使用 Mercurial。如果您已经熟悉 SVN,那么第一部分绝对值得一读:它讨论了 SVN 和 Mercurial 之间的主要概念差异,因为尝试以与使用 SVN 相同的方式使用 Mercurial 是自找麻烦。

于 2010-03-05T02:11:54.010 回答
5

看看Mercurial 的书,或者这个Mercurial 教程

于 2009-05-08T02:27:34.537 回答
2

如果您使用最新的TortoiseHG客户端并将安装目录包含在您的 PATH 环境中,您将能够使用它们提供的漂亮 GUI 和命令行“hg”

我不建议过多地使用 mq 扩展。它们构成了一个很棒的“工作存储库”环境。

我使用队列来管理针对颠覆存储库的本地更改。我进行本地短期更改并使用 mercurial 与 subversion 和团队的其他成员保持同步。

于 2009-05-08T05:24:23.050 回答
2

根据您使用其他源代码控制工具的背景,我还建议使用特定的 SCM——无论是 Mercurial 指南。例如,看看这个 Subversion 用户指南

另一个让您了解整个“分布式”源代码控制理念的好资源是:http ://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ ...带有有用的图表!

于 2009-05-10T12:54:02.280 回答
1

Steve Losh 的一些博客文章很不错,尽管它们现在已经有几年了。他们主要处理如何使用分支。

他的hgtip.com网站也值得一看。

于 2011-12-29T05:20:39.933 回答
0

除了 Mercurial Book 和 Hg Init 教程之外,我还想提一下我编写的示例驱动指南:

它展示了如何开始使用 Mercurial,还涵盖了一些更高级的概念,例如命名分支和 hgsubversion。我在向新用户教授 Mercurial 时使用过它,他们似乎很喜欢它。

于 2011-12-26T16:06:34.443 回答