Mercurial Workflow:需要跟踪我本地工作副本中的文件,但不要推送到" trunk"

时间:2017-04-04 21:31:01

标签: mercurial

这是我的设置:

我有一个主Mercurial存储库(称之为trunk)。当我想处理一个功能时,我会做一个克隆并开始处理它(通常也添加一个书签)。

我使用各种工具来完成我的工作,这往往会在目录中生成方便的文本文件。跟踪这些文件对我来说也很有帮助。但是,我需要确保这些文件被推送到主干。

从某种意义上说,我喜欢" parallel"该目录中的Mercurial存储库,我可以跟踪这些文件。

人们如何管理这个?我愿意使用(稳定的)Mercurial扩展。理想情况下,我不想记得"在推到行李箱之前移除东西。

1 个答案:

答案 0 :(得分:0)

有两种可能性:补丁队列和阶段。可能你想做什么,阶段是摩擦力较小的方法。但是我的知识并没有真正“平行”的解决方案。

请查看hg help phases以获取概述,并hg phase查看操作变更集阶段的命令。

为了确保您不会无意中推送到主干,您必须默认(在您的HOME / .hgrc中)使您的提交“保密”:

  [phases]
  new-commit = secret

然后hg push永远不会允许在默认情况下推送任何内容,您必须有选择地更改要推送的更改集的阶段。

在提交您想要保留的内容时,您也可能无法使用上述配置并使用--secret hg commit选项,但忘记这样做太冒险了。

请注意,对于补丁队列和阶段,您必须精通使用hg histedit进行历史记录重写,以便对提交进行重新调整。