代码之家  ›  专栏  ›  技术社区  ›  Mizipzor

处理突发高优先级任务的灵活工作流

  •  2
  • Mizipzor  · 技术社区  · 14 年前

    场景是,有一天早上我上班,拉,更新,合并我的变化无常的树。从现在最新的版本开始,我开始处理今天的任务。我达到了一个合乎逻辑的里程碑并做了一个承诺。树现在看起来像这样:

    *  <- my first commit for the day
    |
    *  <- merge commit from shared repos by team
    

    现在老板来了,发生了可怕的事情,需要我立即关注。他希望尽快解决问题。

    我今天的计划被打乱了。使用Mercurial解决这个问题的最佳方法是什么?

    • 我可以编写解决方案,然后再提交一次,然后再推一次。但这很糟糕,因为该提交将有自己的第一个提交作为父级,从而推送不完整的代码。
    • 在一个完美的世界里,也许IM编码的新特性将出现在它自己的分支中。但它是一个小特性,我很懒惰,所以它现在就驻留在 default . 我可以尝试找到将提交从一个分支转移到另一个分支的方法。
    • 我可以忽略那个惊慌失措的老板,再做两三次承诺来完成这个功能,然后 然后 开始修复工作,将它们作为单独的提交和推送引入。

    这两种感觉都不好。我想要一些符合以下条件的东西:

    1. 执行更新,使我返回合并提交。
    2. 执行修复并提交。
    3. 只推送修复提交,不完整的功能提交仍处于未完成状态。

    从而使历史如此:

    *  <- fix commit (pushed)
    |
    | *  <- my first commit for the day (unpushed)
    |/
    *  <- merge commit from shared repos by team
    

    我们刚搬到办公室的Mercurial,这是我想解决的一个问题。这里有什么善变的大师分享智慧吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   tonfa    14 年前

    您描述的工作流看起来很好(更新到合并、提交、推送修复)。如果您对匿名分支感到不舒服,可以首先克隆-r repo以进行合并、提交和推送。