Mercurial:搁置提交的文件

时间:2013-01-15 15:33:02

标签: mercurial tortoisehg shelve

我有两个回购,开发和测试。在开发中,自上次推送测试以来,我做了几次提交。但是,现在我想搁置所有这些提交,进行不同的更改,将其推送到测试,然后将这些提交恢复。搁架仅适用于未提交的文件。

我该怎么办?退出或回滚或以相反的顺序还原每个提交?重命名dev,克隆测试到dev,进行更改,推送测试,推送重命名dev,删除dev,将renamed rename重命名为dev?

最干净/最简单的方法是什么?

2 个答案:

答案 0 :(得分:3)

为了清楚其他读者:对于这种情况,实际的HG搁置命令不是正确的方法;它不适用于已提交的更改,但在这种情况下也不必使用。

以下是您可以做的事情:

  1. dev 中,更新到您不希望推送到测试
  2. 的提交之前的版本。
  3. dev 中进行所需的更改并提交。这将创建一个新头(这也将是新的提示)。
  4. 推送到测试
  5. dev 中,将提示与包含您已避免推送的更改的另一个头合并,然后提交。

  6. 原始建议(在这种情况下无法实施):

    1. 克隆dev到新的repo并在提交之前更新到版本(或者只是克隆测试)
    2. 进行所需的更改,提交并推送到测试和开发
    3. 弃掉克隆
    4. 将测试从测试中拉到开发中并在闲暇时合并头部,再次建立单个头

答案 1 :(得分:0)

另一个工作流程可能是:使用MQ扩展