Mercurial最佳实践 - 功能/任务分支?

ash*_*999 17 mercurial

我刚从SVN切换到Mercurial.我做了一些基本的东西(导入我的代码,进行提交,获取log/commit/revert /等等)并阅读一些关于分支/合并的教程.

我现在的问题是:使用Mercurial的最佳方式("Mercurial")什么?"我不想遵循SVN范式;我想以"正确"的方式做事.

我应该提一下,我是大多数项目的唯一开发人员,而且我正在使用敏捷/ Scrum实践.也许我的问题应该是我应该克隆/分支每个功能?每项任务?我记得读到这应该是Git的情况,这可以让你基本上保持多个副本同时工作和单独的功能与错误修复与任何事情(即保持你的工作副本分开你的每个不同的事情'干嘛).它也显然是Mercurial最佳实践的一部分.

或者我可以保留一份副本,进行更改,并大量提交.随你.

如果这个问题过于主观,我不介意关闭它,只要有人可以将我与一些关于如何最好地使用Mercurial的阅读材料联系起来.这就是我所追求的.

Pet*_*ell 8

作为(大多数)独唱开发者,我想我的回答是......是的.当我知道我正在进行快速更改时,我会在我的"主要"开发目录中进行更改,但如果我对将会有多长/多复杂的事情有任何疑问,我会在开始时进行分支.好的一点是,您可以以任何方式(以任何顺序)对您有效.如果你在一个长的mod上你的主开发目录工作,有人进来,现在需要快速修复,只需克隆主干,修复它,检查它,鲍勃是你的叔叔!

我带着悲伤回顾SCCS/RCS/CVS的日子.

我即将带领3名设计师进入应许之地.他们是老派,多年来一直在共享目录中使用Dreamweaver(恐怖!).本周末,我们将他们带到XAMPP,TortiseHG,rsync和deve/staging/production的世界.

更新:我以非常模糊的方式表达了我的回答.谢谢你给我打电话,Michael E.

我的"主要开发目录"实际上是生产主机的克隆.当我说"分支"时,我的意思是说我将会在某种程度上工作一段时间,通常是几天到一个月或更长时间,但它仍然是"东西"的克隆.我知道这听起来很模糊,但有时我和其他开发人员一起工作,我们来回传递东西,我们只是不太担心合并到主干,直到进入分段.(即便如此,它通常也很轻松.)

因此,对我来说,"快速修复"意味着将我的"主要"开发人员更新为主干,黑客攻击,测试,推送到主机上的分段(和测试),然后推送到生产(和测试).大多数情况下,快速修复是作为匿名分支完成的.

顺便说一句,克隆本地存储库是如此之快,我没有理由(在我看来)做任何其他事情.我有一个中等项目,包含超过7,000个文件,以及来自4个开发人员的大约4年近每日提交 - 存储库大约200MB.克隆时间(在我车库的旧机器上)是10秒.我保留了远程制作大师的本地克隆,并用cron每小时取一次.HTH.


ben*_*sai 6

基本指南:https: //www.mercurial-scm.org/guide/

分支指南:http: //stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

我更喜欢搁置快速修复,匿名分支用于两到三个变更集更改,以及克隆任何大于此的东西.