我刚刚开始研究一个使用Mercurial作为版本控制系统的项目,我需要一些关于如何使用它的基本技巧。请使用此问题提供有关此技术的一些介绍性提示。
特别是,我正在寻找有关最佳程序使用的技巧和最佳使用技巧(分支机构,进出检查等等。我需要学习最佳实践!)
答案 0 :(得分:13)
我知道您已经拥有Mercurial网站,但对我最有用的资源是Mercurial book。这是该程序及其使用方法的绝佳概述。
我发现学习Mercurial的最佳方法就是在项目中使用它。我导入了Mercurial一个我从subversion导出的项目,并用它进行了一些定期开发。我确保为不同的变更集克隆存储库,以便我可以习惯合并和更新。我还没有学到所有的高级用途,但我现在已经非常坚定了,并且还没有切换回Subversion。
许多项目都有不同的提交工作流技术。有些人会从开发人员那里推动变革,比如集中式系统,有些人会从贡献者(例如Linux)中获取变化。如果不了解项目的流程,很难概括太多。
这就是我的发展方式:
project-trunk
或project
,是最终项目版本project-local
project-local
树:例如。 project-addusers
,project-141
等project-local
存储库project-local
中的更改推送到project-trunk
我有干净的project-local
树,因为我可以一次将所有变更集推回到主干,如果有一组需要反推的相关变更,这会很有帮助。
至于工具,它取决于您的平台。我只是使用vanilla命令行工具。来自TortoiseSVN,转到命令行有点变化。但我现在很好。我尝试使用TortoiseHg,但它在我的Windows 7 x64虚拟机上运行不正常。我听说在支持的32位平台上它要好得多。
答案 1 :(得分:13)
以下是由helpful tutorial撰写的关于Mercurial的Joel Spolsky。
它涵盖了基本用法和命令,以及如何在更概念的层面上使用Mercurial。如果您已经熟悉SVN,那么第一部分绝对值得一读:它讨论了SVN和Mercurial之间的主要概念差异,因为尝试以与使用SVN相同的方式使用Mercurial会遇到麻烦。
答案 2 :(得分:5)
答案 3 :(得分:2)
如果您使用最新的TortoiseHG客户端并在PATH环境中包含安装目录,您将能够使用它们提供的漂亮GUI和命令行'hg'
我不建议过多使用mq扩展名。它们构成了一个伟大的“工作存储库”环境。
我使用队列来管理针对subversion存储库的本地更改。我做了我当地的短期更改并使用mercurial与subversion和团队的其他成员保持同步。
答案 4 :(得分:2)
根据您使用其他源代码控制工具的背景,我还建议使用特定的SCM - Mercurial指南。例如,请查看this guide for Subversion users。
让您了解整个“分布式”源代码控制理念的另一个好资源是:http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ ...有用的图表!
答案 5 :(得分:1)
Steve Losh的一些博客文章很好,尽管他们现在已经有几年了。它们主要涉及如何使用分支。
还值得查看他的hgtip.com网站。
答案 6 :(得分:0)
除了Mercurial Book和Hg Init教程之外,我还想提一下我编写的示例驱动指南:
它展示了如何开始使用Mercurial,还介绍了一些更高级的概念,例如命名分支和hgsubversion。我在向新用户教授Mercurial时使用过它,他们似乎喜欢它。