我被分配了项目功能的开发。我将在几周的时间内使用该功能几天。我将克隆中央回购。然后我要在当地工作3周。在这个过程中,我会多次向我的回购进展。当我完成时,我会在推动之前拉/合并/提交。如何将新功能推送至中央Mercurial回购?
什么是正确的方式推动我的功能作为一个单一的变更集中回购?我不想推动14项“正在进行的工作”变更集和1个“合并”变更集到中央回购。我希望项目上的其他协作者只能看到一个带有重要提交消息的变更集(例如“已实施的功能ABC”)。
我是Mercurial和DVCS的新手,所以如果您认为我没有采用正确的方法,请不要犹豫提供指导。
<My own answer>
到目前为止,我想出了降低15变更为2变更的方式。假设变更集10至24是“正在进行中”变更集。我可以'hg collapse -r 10:24 -m "Implemented feature ABC"'
(14个变更集折叠为1)。那么,我必须'hg pull'
+ 'hg merge'
+ 'hg commit -m "Merged with most recent changes"'
。但现在我坚持2个变更集。我不能再'hg collapse'
,因为拉/合并/提交打破了我的变更序列。当然,2个变更集比15个更好,但仍然是,我宁愿有1个变更集。
</My own answer>
http://stackoverflow.com/questions/1200691/with-mercurial-how-can-i-compress-a-series-of-changesets-into-one-before-pushi – 2010-04-08 14:22:27