gpt4 book ai didi

Mercurial 工作流可以并行处理多个单独的任务

转载 作者:行者123 更新时间:2023-12-05 00:35:37 26 4
gpt4 key购买 nike

这里有许多讨论已经解决了似乎与这个问题相关的问题,但没有什么能真正直接回答它。基本上,使用 Mercurial,我希望能够在同一个项目中同时处理多个独立的任务。

例如,我同时负责处理错误 X 和 Y。我在 X 上工作了一段时间,直到遇到需要搁置几天的时间。假设我需要来自不在办公室的其他人的意见。所以我想继续研究 bug-Y。显然,一种选择是创建稳定存储库的新克隆。问题是需要一个新的工作目录、新的 Eclipse 项目、yada-yada...我希望能够保留一个工作副本。

使用 SVN,我可以在存储库中为每个任务创建一个新分支,然后在它们之间切换我的工作副本。使用 ClearCase,我可以为每个事件创建一个新事件。在这两种情况下,我都可以在干净的环境中独立完成每项任务。然后当我完成一项任务时,我可以将那个任务提交/推送到中央仓库。

我读过 Hg 命名的分支和书签。我确信那里有一个适合我们工作流程的解决方案,但我还没有看到它。有人可以解释我可以用来实现这一目标的步骤吗?是否可以在我的本地存储库中创建两个头,我可以在它们之间切换?然后独立更新/提交/推/拉这些头?在实践中,我什至可能永远不会在本地 merge 它们,只需在准备就绪时将它们推送到我们的稳定存储库。我只是以完全错误的方式思考这个问题吗?我对 Hg(以及一般的 DVCS)非常陌生,并试图为其开发工作流程。

最佳答案

您描述的过程使用 Mercurial 实现非常简单,并且有很多方法可以实现。

例如,您可以使用匿名分支:

  • 将标签或书签放在要用作这两个开发的开始的变更集上。
  • 开发您的第一个错误修复,根据需要进行尽可能多的提交
  • 当你想开始另一条开发线时,只需更新到之前保存的变更集
  • 开发第二个错误修复,并提交更改

  • 你刚刚在你的工作副本中创建了两个匿名分支,从决定的变更集开始。

    您绝对不受匿名分支的数量或其起点的限制,您甚至可以在匿名分支上创建新的匿名分支。

    在某些情况下,像 TortoiseHG 或 GraphLog extension 这样的工具可以真正帮助您了解每个分支的父级以及 merge 它们的最佳方法是什么。

    书签只是一种轻松跟踪各种变更集的方法,您可以在每个新头上放置书签。根据您使用的 Mercurial 版本,书签将“跟随”您在其特定分支中所做的每个新提交与否。

    你也可以使用命名分支来达到同样的目的,但问题是命名分支创建后你不能轻易删除它,名称仍然是他们的。

    PS:以下博客文章中描述了此工作流程或非常相似的内容: http://stevelosh.com/blog/2010/02/mercurial-workflows-branch-as-needed/

    关于Mercurial 工作流可以并行处理多个单独的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9265547/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com