Mercurial简介

Esp*_*sen 13 version-control mercurial dvcs

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

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

Ste*_*ons 14

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

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

很多项目都有不同的提交工作流技术.有些人会从开发人员那里推动变革,例如集中式系统,有些人会从贡献者(例如Linux)中获取变化.如果不了解项目的流程,很难概括太多.

这就是我开发的方式:

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

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

至于工具,它取决于您的平台.我只是使用vanilla命令行工具.来自TortoiseSVN,转到命令行有点变化.但我现在很好.我尝试使用TortoiseHg,但它在我的Windows 7 x64虚拟机上运行不正常.我听说在支持的32位平台上它要好得多.


Dav*_*one 14

以下是Joel Spolsky撰写的关于Mercurial 的有用教程.

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


Cha*_*tin 5

看一下Mercurial书,或者在这个Mercurial教程中.