【问题标题】:mercurial: how to cherry pick during mergingmercurial:合并期间如何挑选樱桃
【发布时间】:2012-01-11 11:43:51
【问题描述】:

考虑我有以下情况:

我有一个来自修订版 4 的分支 br_foo。之后,在默认分支上又做了 3 处更改:6、7 和 8。我只想将更改 7 和 8 合并到 br_foo。有没有办法在 mercurial 中实现这一点?

【问题讨论】:

    标签: mercurial merge


    【解决方案1】:

    移植v移植

    根据您使用的 Mercurial 版本,您可能会使用 Mercurial 2.x 中的新 Graft 功能或旧版 Mercurial 中的旧 Transplant Extension


    Graft 命令

    这是最近(2011 年 11 月)宣布的,所以我自己还没有机会使用它。

    此命令使用 Mercurial 的合并逻辑来复制单个更改 来自其他分支而不合并历史图中的分支。 这有时被称为“反向移植”或“樱桃采摘”。经过 默认情况下,graft 将从源中复制用户、日期和描述 变更集。


    移植扩展

    我已经将它用于这种情况。描述中的小sn-p ...

    此扩展允许您从另一个分支移植补丁或 存储库。

    它在移植的变更集中记录了原始变更集ID, 并避免移植以前移植的补​​丁。

    它还可以用于针对上游更改重新设置分支 (包括删除上游已采用的变更集),以 重写变更集并挑选一些变更集。

    【讨论】:

    • 如果您使用的是 Mercurial 的新 2.0 版本,graft 命令的用途完全相同,并且默认包含在内。移植文档的链接位于移植维基页面的顶部。
    【解决方案2】:

    自 mercurial 2.0(2011 年 11 月 1 日发布)以来,这由新的核心命令 graft 处理:

    此命令使用 Mercurial 的合并逻辑从其他分支复制单个更改,而不合并历史图中的分支。这有时被称为“反向移植”或“樱桃采摘”。

    另见this other question

    【讨论】:

      猜你喜欢
      • 2017-02-26
      • 2013-01-07
      • 2018-07-23
      • 2016-04-16
      • 2010-09-18
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多