【发布时间】:2016-01-27 22:33:59
【问题描述】:
我正在使用 Mercurial,并且我有一个关于分离各种工单的工作的问题(我使用 PyCharm 作为我的 IDE,但这更像是一个一般的 Mercurial 问题)。
我的工作流程是这样的:申请一张票(错误、功能、重构等),创建一个关联的书签,修改,将我的书签推送到代码审查,代码准备好进行集成测试。在集成测试期间,我获取所有书签,合并它们并进行测试。
我的问题是当我向上推代码时。我推送的第一个书签沿默认分支继续,而我推送的第二个、第三个、第四个等书签沿默认分支创建新的头。这很好,因为如果在测试过程中发现了错误,则可以删除相关书签的代码,并且可以继续测试/发布剩余的代码。 (即:我可以挑选要合并和测试的书签)问题出在第一个书签上。如果我理解Mercurial,你只能合并headers,这意味着我要合并测试的第2、3、4等书签必须与被推上去的第一个书签合并;这意味着如果我需要从第一个书签中提取代码,我不能(即:第一个书签必须是合并组的一部分)。
现在,这可以通过使用分支来解决。一个新的分支是一个新的“头”,所以我可以选择要合并和测试的分支。然而,据我了解,Mercurial 中的分支被认为是一个很长的时间(比如拥有 QA、测试和发布分支),而不是像错误修复这样的小事情。
我应该只使用分支,还是我做错了什么?
【问题讨论】: